Інтэрфейс абагульненага тыпу ў 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'