Vispārināta tipa interfeiss TypeScript

Tagad pāriesim pie funkcijas izsaukuma vispārināta tipa interfeisa aprakstīšanai. Definēsim tajā funkcijas izsaukuma parakstu:

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

Tālāk deklarēsim funkciju myFunc un izrakstīsim kodu tās pamattekstā:

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

let func: IFunc = myFunc;

Pēc tam uzrakstīsim mainīgo func, kura tips atsaucas uz IFunc. Un pats mainīgais izsauc funkciju myFunc:

typescriptlet func: IFunc = myFunc;

Pilns kods izskatīsies šādi:

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

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

let func: IFunc = myFunc;

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

Pēc koda izpildes mēs redzēsim:

typescript'abcde'