Интерфейс на обобщен тип в TypeScript

Сега нека да преминем към описание на интерфейса на обобщен тип за извикване на функция. Нека дефинираме в него сигнатура за извикване на функция:

typescriptinterface IFunc {
  <T> (data: T): T;
}

След това нека декларираме функция myFunc и разпишем кода в нейното тяло:

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

let func: IFunc = myFunc;

След това напишем променлива func, чийто тип се отнася към IFunc. А самата променлива извиква функция myFunc:

typescriptlet func: IFunc = myFunc;

Пълният код ще изглежда ето така:

typescriptinterface IFunc {
  <T> (data: T): T;
}

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

let func: IFunc = myFunc;

console.log(func('abcde'));

След изпълнение на кода ще видим:

typescript'abcde'