Tipiskie mainīgie TypeScript
Lai labāk izprastu vispārinājumu koncepciju, izveidosim mūsu pirmo funkciju - identitātes funkciju. Šāda funkcija atgriež tieši to, kas tai tika nodots - ar to pašu tipu.
Sākumā uzrakstīsim mūsu funkcijas variantus atsevišķi.
Uzrakstīsim funkciju, kas parametru pieņem kā skaitli un atgriež skaitli:
function func(data: number): number {
return data;
}
Tagad uzrakstīsim funkciju, kas parametru pieņem kā virkni (string) un atgriež virkni:
function func(data: string): string {
return data;
}
Tagad pieņemsim, ka mēs vēlamies, lai to visu veiktu viena funkcija. Tas ir, mēs vēlamies veikt vispārināšanu.
Lai to izdarītu, mēs izmantosim tipisko
mainīgo, kas saglabā sev datu tipu. Šāds
mainīgais tiek deklarēts leņķa iekavās pirms
apaļajām iekavām ar funkcijas parametriem.
Deklarēsim šādu mainīgo, nosaukot to par T
(var jebkuru nosaukumu):
function func <T>(šeit parametri) {
return data;
}
Pēc tam mums būs mainīgais T,
ko varēs izmantot, lai ieliktu tajā
parametra tipu, un pēc tam
norādītu to kā atgriežamo
vērtību.
Norādīsim mūsu parametram tipu kā mūsu mainīgo:
function func <T>(data: T) {
return data;
}
Izrādīsies, ka parametrs var tikt nodots
jebkurā tipā, un šis tips tiks saglabāts mūsu
mainīgajā T.
Tagad izmantosim mainīgā T vērtību
kā funkcijas rezultāta norādi:
function func <T>(data: T): T {
return data;
}
Tagad izrādīsies, ka funkcijas rezultāta tips tiks iegūts no parametra tipa. Pārbaudīsim.
Izsaucam funkciju ar skaitli:
console.log( func(3) ); // izvadīs 3
Izsaucam funkciju ar virkni:
console.log( func('x') ); // izvadīs 'x'
Izveidojiet funkciju, kas parametru pieņem kā divus skaitļus vai divas virknes. Funkcijas rezultātā jāatgriež parametru summa.