Algemene typefunctie in TypeScript
In eerdere lessen hebben we een identiteitsfunctie gemaakt, die parameters van een algemeen type accepteerde. Nu leren we hoe we het type van zo'n functie moeten beschrijven en algemene interfaces moeten aanmaken.
Een algemene typefunctie kan ook
geschreven worden als een pijlfunctie. Laten we
een variabele func declareren, waarvan
het type een algemene functie is:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
Je kunt ook een ander symbool gebruiken voor het algemene type van zo'n variabele. Het belangrijkste is om ervoor te zorgen dat de typenamen niet conflicteren:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
Het algemene type kan worden geschreven door de aanroephandtekening en het functietype tussen accolades te plaatsen:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Schrijf een functie om de lengte van een array van een algemeen type te bepalen in de varianten, die in deze les zijn beschreven.