Função de Tipo Genérico em TypeScript
Nas lições anteriores, criamos uma função identidade, que aceitava parâmetros de tipo genérico. Agora, vamos aprender a descrever o tipo dessa função e a criar interfaces genéricas.
A função de tipo genérico também pode ser
escrita na forma de arrow function. Vamos
declarar uma variável func, que terá
o tipo de uma função genérica:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
É possível usar um símbolo diferente para o tipo genérico dessa variável. O importante é garantir que os nomes dos tipos não entrem em conflito:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
O tipo genérico pode ser escrito colocando a assinatura de chamada e o tipo da função entre chaves:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Escreva uma função para determinar o comprimento de um array de tipo genérico nas variantes descritas nesta lição.