Este libro sobre el lenguaje TypeScript (basado en la versión 5.0) se dirige a desarrolladores que ya tienen práctica en programación en otros lenguajes y que desean optimizar y ocuparse de la producción de código JavaScript en un proyecto de desarrollo. Aunque el conocimiento básico del lenguaje JavaScript es un plus para leer este libro, no es imprescindible para comprender los diferentes conceptos estudiados. En el primer capítulo, los autores comienzan presentando los principios...
Este libro sobre el lenguaje TypeScript (basado en la versión 5.0) se dirige a desarrolladores que ya tienen práctica en programación en otros lenguajes y que desean optimizar y ocuparse de la producción de código JavaScript en un proyecto de desarrollo. Aunque el conocimiento básico del lenguaje JavaScript es un plus para leer este libro, no es imprescindible para comprender los diferentes conceptos estudiados.
En el primer capítulo, los autores comienzan presentando los principios operativos del lenguaje antes de configurar el entorno de desarrollo utilizado para los ejemplos, que se basan en Visual Studio Code y Node.js. Después, en el resto de los capítulos, el lector descubrirá las diferentes funcionalidades del lenguaje (tipos, módulos, decoradores, genericidad, asincronismo, tipos avanzados...), así como los posibles paradigmas de programación (programación orientada a objetos y programación funcional).
Finalmente, en el último capítulo, se aplican los diferentes conceptos estudiados al desarrollo, paso a paso, de una aplicación Node.js con la librería Fastify. Asimismo, se muestra cómo enriquecer el funcionamiento de una biblioteca utilizando funciones de TypeScript y varios patrones de diseño (MVC, Repository, inyección de dependencia).
Podrá descargar elementos adicionales a partir del sitio web www.ediciones-eni.com.
13.3 El principio de abierto a la extensión, cerrado a la modificación
13.4 El principio de sustitución de Liskov
13.5 El principio de segregación de interfaces
13.6 El principio de inversión de dependencias
Módulos
1. Introducción
2. Histórico
2.1 Pattern module
2.2 AMD y CommonJs
2.3 Estandarización
3. El estándar ECMAScript 2015
3.1 Export
3.2 Import
3.3 Import assert
4. Gestión de tipos
5. Carga y resoluciones
5.1 Resoluciones
5.2 Carga
Genericidad
1. Introducción
2. Declaración básica
3. Clases e interfaces
4. Restricciones
5. Genérico y constructor
Decoradores
1. Introducción
2. Decoradores experimentales
2.1 Decoradores experimentales de clase
2.2 Decoradores de métodos experimentales
2.3 Decoradores experimentales de propiedad
2.4 Decoradores experimentales de parámetro
2.5 Fábrica de decoradores
2.6 Metadatos
3. Decoradores ECMAScript
3.1 Decoradores ECMAScript de clase
3.2 Decoradores ECMAScript de método
3.3 Decoradores ECMAScript de propiedad
3.4 Decoradores ECMAScript de accesores
3.4.1 Decorador "getter"
3.4.2 Decorador "setter"
3.4.3 Decorador de accesores automáticos
Asincronismo
1. Introducción
2. Callback hell
3. Promesa
3.1 Histórico
3.2 Promesas de ECMAScript 2015
3.2.1 Resolución de promesas
3.2.2 Then, catch y finally
3.2.3 Métodos estáticos
3.2.4 Conclusión
4. Async/await
Sistema de tipo avanzado
1. Introducción
2. Alias de tipo
3. Tipo never
4. Tipo unión e intersección
4.1 Unión
4.2 Intersección
5. Type guards
5.1 Introducción
5.2 Operador typeof
5.3 Operador instanceof
5.4 Operador in
5.5 Unión discriminante
5.6 Type guards definidas por el usuario
5.7 Gestión de null y undefined
5.8 Caso imposible
5.9 Función de afirmación
6. Tipos literales
7. Modelo de tipo literal
8. Tipo index
9. Mapped type
9.1 Antes de TypeScript 2.1
9.2 Operadores
9.3 Remapeado de claves
9.4 Mapped type nativo
10. Afirmación constante
11. Tuplas variádicas
12. Tipo condicional
12.1 Conceptos básicos
12.2 Distributividad
12.3 Operador infer
12.4 Tipo condicional nativo
13. Operador satisfies
TypeScript y programación funcional
1. Introducción
2. Función pura e impura
3. Inmutabilidad
4. Iteración
5. Condiciones
6. Función parcial
7. Currying
8. Pattern Matching
9. Composición de funciones
10. Para ir más lejos...
Un primer proyecto con Node.js
1. Introducción
2. Configurar el proyecto
2.1 Crear el archivo package.json
2.2 Configurar TypeScript
2.2.1 Instalación
2.2.2 Configuración de TypeScript
2.3 Una primera aplicación
3. Crear el framework MVC
3.1 Registro de rutas
3.2 Fábrica de controladores
3.3 El decorador Controller
3.4 La fábrica de decoradores Action
3.5 Crear el controlador EmployeeController
3.6 Inicializar la aplicación
4. Validación y OpenApi
4.1 Tipado de esquemas
4.2 El decorador de propiedad SchemaProperty
4.3 Vínculo entre una acción y un modelo
4.4 El decorador de método Model
4.5 Administrar esquemas en la clase Server
4.6 El explorador de API
4.7 La acción post del controlador EmployeeController
5. Acceso a datos y su persistencia
5.1 Tipado de las entidades de trabajo
5.2 Persistencia de datos
5.3 Repository
6. Inversión de dependencias
6.1 El contenedor de dependencias
6.2 El decorador Inject
6.3 Inyección de dependencias
6.4 Almacenamiento de datos en un archivo
7. Para ir más lejos
índice
Félix BILLON
Félix Billon, ingeniero informático y especialista en desarrollo web, trabaja como consultor independiente. Es uno de los organizadores de la reunión de TypeScript de París y comparte sus conocimientos técnicos en conferencias y artículos de blog.
Sylvain Pontoreau, apasionado del desarrollo web desde hace quince años, trabajó como Master Trainer de TypeScript en Microsoft durante más de dos años. Es otro de los organizadores del encuentro sobre TypeScript en París y Microsoft MVP (Most Value Professional) en la categoría Developer Technologies. Asimismo, es miembro activo de la comunidad de TypeScript en Francia y le encanta compartir su pasión y conocimiento de este lenguaje.