Repaso
English
Frontend y webAvanzadoFE-20

En TypeScript, ¿unknown frente a any?

Opciones

  1. Son idénticos en comportamiento y seguridad
  2. unknown debe acotarse; any desactiva las comprobaciones (Opción correcta)
  3. any es más seguro que unknown al tipar datos
  4. unknown solo se usa para tipar errores capturados

Respuesta

unknown debe acotarse (typeof, instanceof, type guards) antes de usarlo; any desactiva la comprobación de tipos

Por qué

any desactiva la comprobación de tipos: puedes hacer cualquier cosa con él, y los errores solo aparecen en ejecución.

unknown significa 'aún no sé el tipo': TypeScript no te deja usarlo hasta que lo compruebes, por ejemplo if (typeof x === "string").

Usa unknown para datos externos (JSON, respuestas de API) y valídalos.

Recuerda

Prefiere unknown a any.

Términos clave

Practica esta pregunta en Repaso