TypeScript-də Ümumiləşdirilmiş Tip Dəyişənləri

Ümumiləşdirilmiş tip funksiya yaratdığımız zaman, TypeScript bizə onun bədənində tip dəyişənlərindən düzgün istifadə etməyi məcbur edir. Nəticədə, funksiyaya ötürülən hər bir parametrin davranışını, bizə mövcud olan bütün tiplər baxımından nəzərdən keçirmək lazımdır.

Gəlin ümumiləşdirilmiş tip dəyişənin uzunluğunu müəyyən etmək üçün funksiya yaradaq:

typescriptfunction myFunc <T> (data: T): T {
  console.log(data.length); // xəta
  return data;
}

Xəta ona görə baş verir ki, bütün tiplərin uzunluğu yoxdur. Məsələn, məntiqi dəyərlər üçün belə bir hərəkət mümkün deyil. Lakin biz tipi dəqiqləşdirib onu massiv kimi göstərsək, kod düzgün işləyəcək. Axı hər bir massivin, onun tipindən asılı olmayaraq, uzunluğu var:

typescriptfunction myFunc <T> (data: T[]): T[] {
  console.log(data.length); // 3
  return data;
}

console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Задание 1

Ümumiləşdirilmiş tip massivin bütün elementlərini çap etmək və konsola yazdırmaq üçün funksiya yazın.