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:

typescriptfunction func(data: number): number {
  return data;
}

Tagad uzrakstīsim funkciju, kas parametru pieņem kā virkni (string) un atgriež virkni:

typescriptfunction 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):

typescriptfunction 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:

typescriptfunction 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:

typescriptfunction 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:

typescriptconsole.log( func(3) );   // izvadīs 3

Izsaucam funkciju ar virkni:

typescriptconsole.log( func('x') ); // izvadīs 'x'
Задание 1

Izveidojiet funkciju, kas parametru pieņem kā divus skaitļus vai divas virknes. Funkcijas rezultātā jāatgriež parametru summa.