Interface de Tipo Genérico em TypeScript

Agora vamos passar para a descrição da interface de tipo genérico para a chamada de uma função. Vamos definir nela a assinatura de chamada da função:

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

Em seguida, vamos declarar a função myFunc e escrever o código em seu corpo:

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

let func: IFunc = myFunc;

Depois, vamos escrever a variável func, cujo tipo se refere a IFunc. E a própria variável chama a função myFunc:

typescriptlet func: IFunc = myFunc;

O código completo ficará assim:

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

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

let func: IFunc = myFunc;

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

Após a execução do código, veremos:

typescript'abcde'