Funkcija generalizovanog tipa u TypeScript-u
U prethodnim lekcijama smo napravili identičku funkciju, koja je prihvatala parametre generalizovanog tipa. Sada ćemo naučiti kako da opišemo tip takve funkcije i kreiramo generalizovane interfejse.
Funkciju generalizovanog tipa takođe možemo
zapisati i u obliku streličaste. Hajde da
deklarišemo promenljivu func, čiji
će biti tip generalizovane funkcije:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
Možemo postaviti i drugi simbol za generalizovani tip te promenljive. Glavno je voditi računa, da se imena tipova ne sukobljavaju:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
Generalizovani tip možemo zapisati, stavivši signaturu poziva i tip funkcije u vitičaste zagrade:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Napišite funkciju za određivanje dužine niza generalizovanog tipa u opisanim varijantama iz ove lekcije.