Ընդհանրացված տիպի փոփոխականները TypeScript-ում
Երբ մենք ստեղծում ենք ընդհանրացված տիպի ֆունկցիա, TypeScript-ը ստիպում է մեզ ճիշտ օգտագործել տիպի փոփոխականները դրա մարմնում։ Հետևաբար, անհրաժեշտ է դիտարկել յուրաքանչյուր պարամետրի վարքագիծը, որն փոխանցվում է ֆունկցիային, բոլոր մեզ հասանելի տիպերի տեսանկյունից։
Եկեք ստեղծենք ֆունկցիա ընդհանրացված տիպի փոփոխականի երկարությունը որոշելու համար։
function myFunc <T> (data: T): T {
console.log(data.length); // սխալ
return data;
}
Սխալը առաջանում է, քանի որ ոչ բոլոր տիպերն ունեն length հատկություն։ Օրինակ՝ բուլյան արժեքների համար նման գործողություն անհնար է։ Սակայն եթե մենք ճշտենք տիպը և նշենք այն որպես զանգված, ապա կոդը կաշխատի ճիշտ։ Քանի որ յուրաքանչյուր զանգված, անկախ նրանից, թե ինչ տիպի է, ունի length հատկություն։
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Գրեք ֆունկցիա ընդհանրացված տիպի զանգվածի բոլոր տարրերը կոնսոլում ցուցադրելու համար։