Has llegado al final de type-level TypeScript: has aprendido a programar dentro
del propio sistema de tipos —conditional types y su distributividad, infer para
construir tus propios extractores, mapped types y key remapping, tipos recursivos,
type testing con Equal, branded types, varianza y declaration merging—.
Este capítulo no añade nada nuevo: es un examen de repaso a la altura de un nivel
opcional y avanzado, claramente más duro que un quiz normal. Hay preguntas que
encadenan varios mecanismos y trampas finas —la distributividad de un condicional
sobre una unión, la diferencia entre void y undefined que captura infer, la
bivarianza de los métodos— de las que solo se aciertan entendiendo el porqué. Si una
se te resiste, vuelve a su capítulo y reintenta el quiz entero. No hay nada que
entregar: el reto es el propio quiz.
Comprueba lo que sabes#
Pregunta 1 de 19
Evalúa el siguiente código y responde:
type EsRol<T> = T extends Rol ? true : false/* PREGUNTA: ¿Cuál describe este uso concreto de `extends`? */