Capítulo 10. Genéricos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Variables que

declarar en el sistema de tipos?

¡Un mundo (mecanografiado) completamente nuevo!

Todas las sintaxis de tipos que has aprendido hasta ahora están pensadas para ser utilizadas con tipos que son completamente conocidos cuando se escriben. Sin embargo, a veces, un trozo de código puede estar pensado para funcionar con varios tipos diferentes, dependiendo de cómo se llame.

Toma esta función identity en JavaScript pensada para recibir una entrada de cualquier tipo posible y devolver esa misma entrada como salida. ¿Cómo describirías su tipo de parámetro y su tipo de retorno?

function identity(input) {
    return input;
}

identity("abc");
identity(123);
identity({ quote: "I think your self emerges more clearly over time." });

Podríamos declarar input como any, pero entonces el tipo de retorno de la función también sería any:

function identity(input: any) {
    return input;
}

let value = identity(42); // Type of value: any

Dado que se permite que input sea cualquier entrada, necesitamos una forma de decir que existe una relación entre el tipo input y el tipo que devuelve la función. TypeScript captura las relaciones entre tipos utilizando genéricos.

En TypeScript, las construcciones , como las funciones, pueden declarar cualquier número de parámetros de tipo genérico: tipos que se determinan para cada uso de la construcción genérica. Estos ...

Get Aprender TypeScript now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.