Функција на генерализиран тип во TypeScript
Во претходните лекции направивме идентитетска функција, која прифаќаше параметри од генерализиран тип. Сега ќе научиме како да го опишеме типот на таква функција и да креираме генерализирани интерфејси.
Функцијата на генерализиран тип може исто така
да се запише и во форма на стрелеста функција. Ајде
да декларираме променлива func, на која
ќе и биде типот на генерализирана функција:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
Може да се зададе и друг симбол за генерализираниот тип на таква променлива. Главно е да се внимава, така што имињата на типовите да не конфликтираат:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
Генерализираниот тип може да се запише, со затворање на сигнатурата за повикување и типот на функцијата во кадрави загради:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Напишете функција за одредување на должината на низа од генерализиран тип во вариантите, опишани во оваа лекција.