Yleistyneen tyypin funktio TypeScriptissä
Edellisissä oppitunneilla teimme identiteettifunktion, joka hyväksyi yleistyneen tyypin parametrit. Nyt opimme kuvailemaan tällaisen funktion tyypin ja luomaan yleistyneitä rajapintoja.
Yleistyneen tyypin funktion voi myös
kirjoittaa nuolifunktiona. Esitellään
muttuja func, jolla on
yleistetyn funktion tyyppi:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
Voit antaa eri symbolin yleistetylle tyypille tälle muuttujalle. Tärkeää on varmistaa, että tyyppien nimet eivät ole ristiriidassa:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
Yleistetyn tyypin voi kirjoittaa sulkemalla kutsusignaaturin ja funktion tyypin aaltosulkeisiin:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Kirjoita funktio yleistetyn tyypin taulukon pituuden määrittämiseksi tässä oppitunnissa kuvatuissa vaihtoehdoissa.