TypeScriptda Umumiy tip o'zgaruvchilari
Biz umumiy tip funksiyasini yaratganimizda, TypeScript bizni uning tana qismida tip o'zgaruvchilarini to'g'ri ishlatishga majbur qiladi. Shuning uchun, funksiyaga o'tkaziladigan har bir parametrning xatti-harakatini bizga mavjud bo'lgan barcha turlar nuqtai nazaridan ko'rib chiqish kerak.
Keling, umumiy tipdagi o'zgaruvchi uzunligini aniqlash uchun funksiya yarataylik:
function myFunc <T> (data: T): T {
console.log(data.length); // xato
return data;
}
Xato shundan kelib chiqadiki, barcha tip(lar)da uzunlik mayjud emas. Masalan, mantiqiy qiymatlar uchun bunday amalni bajarish mumkin emas. Biroq, agar biz tipni aniqlasak va uni massiv deb belgilasak, kod to'g'ri ishlaydi. Axir, har bir massivning, uning tipi qanday bo'lishidan qat'iy nazar, uzunligi mayjud:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Umumiy tipdagi massivning barcha elementlarini ketma-ketlik bilan chiqarish va konsolga chiqarish uchun funksiya yozing.