Saltar al contenido
webtype.orgDoce conceptos

Doce conceptos

La subida desde los tipos mapeados hasta los condicionales recursivos. Recórrela y el puzle del viernes dejará de dar miedo.

  1. 01

    Alias de tipos

    Un nombre para un tipo. Todo lo demás es un alias que recibe argumentos.

  2. 02

    Parámetros genéricos

    Los alias reciben argumentos. `extends` aquí es una restricción, no herencia.

  3. 03

    keyof y acceso indexado

    `keyof T` es la unión de las claves de T; `T[K]` lee el tipo de una propiedad.

  4. 04

    Tipos mapeados

    Construye un objeto iterando una unión de claves: `{ [K in Keys]: Value }`.

    Se practica en#212 Reconstruye Pick#219 Reconstruye Partial

  5. 05

    Modificadores

    Añade o quita `readonly` y `?` al mapear, con `+` y `-`.

  6. 06

    Tipos condicionales

    `A extends B ? X : Y` — el `if` a nivel de tipos, sobre asignabilidad.

  7. 07

    infer

    Vincula una variable de tipo dentro de un patrón y úsala en la rama verdadera.

    Se practica en#213 Desenvuelve

  8. 08

    Distributividad

    Un parámetro desnudo en un condicional se distribuye sobre uniones. `[T]` lo detiene.

  9. 09

    Tipos de literal de plantilla

    Patrones de cadena a nivel de tipos. Con `infer`, analizan texto.

    Se practica en#214 Parámetros de ruta#217 Divide

  10. 10

    Recursión

    Un tipo condicional que se llama a sí mismo. La rama falsa es la salida.

    Se practica en#215 Solo lectura profundo

  11. 11

    Tuplas variádicas

    Expande tuplas dentro de tuplas. `length` las convierte en un contador.

    Se practica en#216 Suma a nivel de tipos#218 Último

  12. 12

    Igualdad exacta

    Por qué `Equal<X, Y>` no es `extends`, y por qué una intersección no la pasa.