En TypeScript, ¿unknown frente a any?
Opciones
- Son idénticos en comportamiento y seguridad
unknowndebe acotarse;anydesactiva las comprobaciones (Opción correcta)anyes más seguro queunknownal tipar datosunknownsolo 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.