Interfejs typu ogólnego w TypeScript

Teraz przejdźmy do opisu interfejsu typu ogólnego dla wywołania funkcji. Zdefiniujmy w nim sygnaturę wywołania funkcji:

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

Następnie zadeklarujmy funkcję myFunc i opiszmy kod w jej ciele:

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

let func: IFunc = myFunc;

Następnie napiszmy zmienną func, której typ odnosi się do IFunc. A sama zmienna wywołuje funkcję myFunc:

typescriptlet func: IFunc = myFunc;

Pełny kod będzie wyglądał tak:

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

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

let func: IFunc = myFunc;

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

Po wykonaniu kodu zobaczymy:

typescript'abcde'