Todos los vídeos

Arroba types y los .d.ts

Cuando el código fuente descargado desde NPM se niegue a funcionar bien en TypeScript, deberemos prestar atención por si necesitásemos importar manualmente un archivo de definición de tipos para integrar el proyecto. El espacio de nombres @types genera definiciones de tipos si es posible para facilitar esta integración. Con esto cerramos esta temporada.

Módulos desde NPM

Retomamos lo de los módulos para explicar las consecuencias de usar TypeScript a la hora de descargar módulos desde NPM.

tsconfig

Para proyectos de tamaño considerable, tsconfig.json es un archivo que se usa para configurar con mejor precisión un proyecto de TypeScript. En este capítulo explico cómo crear uno de estos archivos para ajustar de forma precisa la forma en la que se compila el proyecto.

Export default e import asterisco

Relacionado con el sistema ES Modules, vamos a ver cómo usar dos tipos especiales de import y export. Con export default podemos exportar de manera predominante algún elemento en un módulo, para importarlo sin necesidad de corchetes. Con import asterisco podemos importar de golpe todos los elementos exportados por un módulo.

Importando módulos

Una vez que vimos el funcionamiento de export, TypeScript también soporta la palabra clave import, procedente de ECMAScript 2015, con la que podemos importar desde otros módulos elementos que hayamos exportado previamente usando export, para poder referenciar las funciones, constantes y tipos declarados en esos archivos.

Exportando módulos

Para Node, un módulo es un archivo de código fuente independiente entre sí. Con la palabra clave export, podemos explicarle a Node que un elemento de uno de los archivos, como una función, una clase, o la declaración de un tipo o una interfaz, debería estar disponibles para otros módulos que quieran importarlo y así reutilizar código.

Tipos de utilidad

Los tipos de utilidad son una serie de tipos basados en genéricos que integra TypeScript de forma nativa en el propio núcleo del lenguaje, que permiten expresar álgebras de tipos más complejos. Para ver la lista completa de tipos de utilidad, consulta https://www.typescriptlang.org/docs/handbook/utility-types.html.

Genéricos con restricciones

Para facilitar el uso de una variable cuyo tipo usa genéricos en una función, lo normal es que pongamos restricciones, de tal manera que los genéricos que empleamos en tipos y funciones formen parte de una jerarquía de tipos que le asocie cierto contexto para hacerlos más fáciles de usar.

Genéricos en funciones

Las funciones también pueden especificar genéricos, de tal manera que el tipo de datos de uno de los parámetros de la función es desconocido hasta el momento en el que se invoca la función y se especifica el valor de ese parámetro. Esto tendrá una serie de consecuencias interesantes en la forma en la que accedemos a esa variable.

Múltiples genéricos y buenas prácticas

Mucha gente tiene problemas para entender o utilizar los genéricos porque comete el error de darle a su genérico nombres compuestos por una única letra, como K, V o T. Esto es un error, y en este vídeo, trato de explicarte que en TypeScript un genérico puede ser un identificador con todas las letras que necesites, algo que hará tu código más sencillo de mantener.

Por duración
Por tema