Variáveis de Tipo Genéricas em TypeScript
Quando criamos uma função de tipo genérico, o TypeScript nos força a usar corretamente as variáveis de tipo em seu corpo. Consequentemente, precisamos considerar o comportamento de cada parâmetro passado para a função, do ponto de vista de todos os tipos disponíveis para nós.
Vamos criar uma função para determinar o comprimento de uma variável de tipo genérico:
function myFunc <T> (data: T): T {
console.log(data.length); // erro
return data;
}
O erro ocorre porque nem todos os tipos têm comprimento. Por exemplo, para valores booleanos, tal ação é impossível. No entanto, se refinarmos o tipo e o especificarmos como um array, o código funcionará corretamente. Pois cada array, não importa de que tipo, tem comprimento:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Escreva uma função para iterar e exibir todos os elementos de um array de tipo genérico no console.