Bendrinio tipo interfeisas TypeScript'e

Dabar pereikime prie funkcijos kvietimo bendrinio tipo interfeiso aprašymo. Jame apibrėžkime funkcijos kvietimo signatūrą:

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

Tada deklaruokime funkciją myFunc ir aprašykime kodą jos tele:

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

let func: IFunc = myFunc;

Tada parašykime kintamąjį func, kurio tipas nuoroda į IFunc. O pats kintamasis iškviečia funkciją myFunc:

typescriptlet func: IFunc = myFunc;

Pilnas kodas atrodys taip:

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

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

let func: IFunc = myFunc;

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

Vykdžius kodą pamatysime:

typescript'abcde'