Vispārināta tipa funkcija TypeScript

Iepriekšējās nodarbībās mēs izveidojām identitātes funkciju, kas pieņēma vispārināta tipa parametrus. Tagad mēs iemācīsimies aprakstīt šādas funkcijas tipu un izveidot vispārinātus interfeisus.

Vispārināta tipa funkciju var arī uzrakstīt bultiņu funkcijas formā. Deklarēsim mainīgo func, kuram būs ģeneriskās funkcijas tips:

typescriptfunction myFunc <T> (data: T): T {
  return data;
}

let func: <T> (data: T) => T = myFunc;

Var norādīt arī citu simbolu vispārinātajam tipam šim mainīgajam. Galvenais ir pārliecināties, ka tipu nosaukumi nekonfliktē:

typescriptfunction myFunc <T> (data: T): T {
  return data;
}

let func: <U> (data: U) => U = myFunc;

Vispārināto tipu var uzrakstīt, iekļaujot izsaukuma parakstu un funkcijas tipu cirtainajās iekavās:

typescriptfunction myFunc < T > (data: T): T {
  return data;
}

let func: {<U> (data: U): U} = myFunc;
Задание 1

Uzrakstiet funkciju vispārināta tipa masīva garuma noteikšanai variants, kas aprakstīti šajā nodarbībā.