TypeScript-те жалпыланып қолданылатын тип функциясы

Алдыңғы сабақтарда біз жалпыланып қолданылатын тип параметрлерін қабылдайтын сәйкестік функциясын жасадық. Енді біз мұндай функцияның түрін сипаттауды және жалпыланып қолданылатын интерфейстерді құруды үйренеміз.

Жалпыланып қолданылатын тип функциясын жебе түрінде де жазуға болады. Өзгермелі func-ты жариялайық, оның түрі жалпыланып қолданылатын функция болады:

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

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

Бұл өзгермелі үшін жалпыланып қолданылатын тип үшін басқа таңба да беруге болады. Бастысы - тип атауларының бір-біріне қайшы келмейтінін қадағалау:

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

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

Жалпыланып қолданылатын типті шақыру қолтаңбасын және функция түрін бұйра жақшаға алып жазуға болады:

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

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

Бұл сабақта сипатталған нұсқалардағы жалпыланып қолданылатын тип массивінің ұзындығын анықтау үшін функция жазыңыз.