Capítulo 5. La insensatez y el tipo cualquiera
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Los sistemas de tipos eran tradicionalmente asuntos binarios: o un lenguaje tenía un sistema de tipos totalmente estático o uno totalmente dinámico. TypeScript difumina la línea, porque su sistema de tipos es opcional y gradual. Eres libre de añadir tipos a partes de tu programa, pero no a otras.
Esto es esencial para migrar poco a poco las bases de código JavaScript existentes a TypeScript(Capítulo 10). La clave para ello es el tipo any
, que efectivamente desactiva la comprobación de tipos para partes de tu código. Es a la vez potente y propenso al abuso. Aprender a utilizar any
sabiamente es esencial para escribir un TypeScript eficaz. Este capítulo te explica cómo limitar los inconvenientes de any
sin perder sus ventajas.
El tipo any
es sólo el ejemplo más extremo del problema más general de falta de solidez: cuando el tipo estático de un símbolo no coincide con su tipo en tiempo de ejecución. Aunque elimines todos los any
s de tu código, puedes caer en trampas de solidez. El tema 48 presenta algunas de ellas y te muestra cómo evitarlas.
Tema 43: Utiliza el ámbito más reducido posible para cualquier tipo
Considera este código:
declare
function
getPizza
()
:
Pizza
;
function
eatSalad
(
salad
:
Salad
)
{
/* ... */
}
function
eatDinner
()
{
const
pizza
=
getPizza
();
eatSalad
(
pizza
);
// ~~~~~
// Argument of type 'Pizza' is not ...
Get TypeScript Eficaz, 2ª Edición 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.