Yleisen tyypin rajapinta TypeScriptissä

Nyt siirrytään kuvailemaan funktion kutsun yleisen tyypin rajapinta. Määritellään siihen funktion kutsun signatuuri:

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

Seuraavaksi esitellään funktio myFunc ja kuvataan koodi sen sisällä:

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

let func: IFunc = myFunc;

Sitten kirjoitetaan muuttuja func, jonka tyyppi viittaa IFunc:iin. Ja itse muuttuja kutsuu funktiota myFunc:

typescriptlet func: IFunc = myFunc;

Täysi koodi näyttää tältä:

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

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

let func: IFunc = myFunc;

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

Koodin suorituksen jälkeen näemme:

typescript'abcde'