Saltar al contenido

    ↑↓ mover · ⏎ abrir · esc cerrar

    Operadores

    typeof

    El puente de un valor a su tipo.

    Qué es

    Los tipos y los valores viven en espacios de nombres separados, y `typeof` es el único paso en un sentido. En posición de tipo significa «el tipo de ese valor», sin relación con el `typeof` de JavaScript que devuelve una cadena en tiempo de ejecución — misma grafía, mundos distintos, y uno de los pocos juegos de palabras genuinos del lenguaje.

    Ejemplos

    • typeof config
      { retries: number; url: string; }
    • typeof send
      (to: string) => void
    • keyof typeof config
      "retries" | "url"

      El emparejamiento que más escribirás: cruza al mundo de los tipos y luego toma las claves.

    Cada tipo resuelto de arriba lo imprimió TypeScript 5.9.3, no se escribió a mano.

    Lo que no hace

    • No acepta una expresión. `typeof foo.bar` funciona porque es una referencia; `typeof foo()` no, porque llamar a algo no es un valor que puedas nombrar.
    • No acota. `typeof` en posición de tipo lee el tipo declarado, no aquello a lo que la variable se haya acotado en esa línea.

    Conclusión

    Cuando un tipo ya está perfectamente descrito por un valor que tienes, no lo escribas dos veces. `typeof` evita que los dos se separen.