Bendrinio tipo funkcija TypeScript

Ankstesnėse pamokose mes sukūrėme tapatybės funkciją, kuri priima bendrinio tipo parametrus. Dabar mes išmoksime aprašyti tokios funkcijos tipą ir kurti bendrinius interfeisus.

Bendrinio tipo funkciją taip pat galima užrašyti ir rodyklės funkcijos pavidalu. Deklaruokime kintamąjį func, kurio tipas bus bendrinė funkcija:

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

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

Galima nustatyti ir kitą simbolį bendriniam tipui šio kintamojo. Svarbiausia sekti, kad tipų pavadinimai nesikonfliktuotų:

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

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

Bendrinį tipą galima užrašyti, įdėjus iškvietimo parašą ir funkcijos tipą į riestinius skliaustus:

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

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

Parašykite funkciją bendrinio tipo masyvo ilgiui nustatyti variantais, aprašytais šioje pamokoje.