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) => voidkeyof 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.