Funkce generického typu v TypeScriptu

V předchozích lekcích jsme vytvořili identifikační funkci, která přijímala parametry generického typu. Nyní se naučíme popsat typ této funkce a vytvářet generická rozhraní.

Funkci generického typu lze také zapsat jako šipkovou. Pojďme deklarovat proměnnou func, která bude mít typ generické funkce:

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

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

Lze nastavit i jiný symbol pro generický typ takové proměnné. Hlavní je dávat pozor, aby názvy typů nekolidovaly:

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

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

Generický typ lze zapsat uzavřením signatury volání a typu funkce do složených závorek:

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

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

Napište funkci pro určení délky pole generického typu ve variantách, popsaných v této lekci.