Programación a nivel de tipos
12 pasos en 5 series de TypeScript.
Tipos condicionales, tipos mapeados, tipos de literales de plantilla y recursión. Esto es programación, ejecutada por el compilador, con los tipos como valores.
Doce pasos, que terminan con chequeos de exhaustividad y pruebas a nivel de tipos. Genuinamente útil en una biblioteca y genuinamente fácil de exagerar en una aplicación. Vale la pena aprender ambas cosas con las manos.
Tipos condicionales
- Tipos condicionales e inferTipos que ramifican, y extraen tipos internos.
- Tipos condicionales e inferUn if a nivel de tipos, y la palabra clave que extrae un tipo de una posición.
- Condicionales distributivosUn condicional sobre un parámetro de tipo desnudo corre una vez por miembro de la unión.
Tipos mapeados
- Tipos mapeadosConstruir un tipo nuevo recorriendo las claves de otro.
- Tipos mapeados con remapeo de clavesConstruir un tipo a partir de otro, renombrando las claves en el camino.
- Agregar y quitar modificadoresUn tipo mapeado puede agregar o quitar readonly y opcional.
Cadenas y recursión
- Tipos de literales de plantillaTipos cadena construidos a partir de otros tipos cadena, en tiempo de compilación.
- Tipos recursivosUn tipo que se refiere a sí mismo, que es como se tipan JSON y los árboles.
Exhaustividad y pruebas
- Uniones discriminadasUn campo literal compartido que vuelve exhaustiva una unión.
- ExhaustividadEl compilador demuestra que manejaste cada caso, si lo dejas.
- Probar los tiposAserciones que corren en el compilador, no en tiempo de ejecución.
Bis
- typed-router.tsUn router cuyos parámetros de ruta se extraen del patrón en tiempo de compilación.