El sistema de tipos de TypeScript es…
Opciones
- Nominal: los tipos coinciden solo por su nombre declarado
- Estructural: los tipos son compatibles si sus formas coinciden (Opción correcta)
- Dinámico: los tipos se comprueban en ejecución
- Idéntico al sistema de tipos de Java
Respuesta
Estructural: los tipos son compatibles si sus formas coinciden
Por qué
TypeScript compara la FORMA de los tipos, no sus nombres. Si una interface exige { id: number; name: string }, cualquier objeto con esas propiedades encaja, aunque nunca se haya declarado como esa interface.
Además, los tipos desaparecen cuando TypeScript compila a JavaScript, así que los datos externos siguen necesitando validación en ejecución.
Recuerda
TypeScript comprueba la forma, no el nombre, y solo al compilar.