Falta una propiedad obligatoria
Property 'b' is missing in type '{ a: number; }' but required in type 'Need'.Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
El objeto tiene la forma correcta hasta donde llega — simplemente no llega lo bastante lejos. Toda propiedad que el destino exige debe estar presente.
Reproducción
type Need = { a: number; b: string } const x: Need = { a: 1 }
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
Es el error más amable de la lista, porque nombra la propiedad exacta y ambos tipos. Salta donde un fallo de asignabilidad genérico habría sido más vago, y significa que el compilador reconoció lo que construías y ve con precisión qué falta. Tómalo como una lista de comprobación, no como un rechazo.
Arreglos
- 01
type Need = { a: number; b: string } const x: Need = { a: 1, b: 'two' }
Proporciónala.
- 02
type Need = { a: number; b?: string } const x: Need = { a: 1 }
O hazla opcional, si de verdad lo es. Haz esto solo cuando un valor sin `b` sea válido — no para saltarte el error.
Conclusión
Una propiedad opcional es una afirmación sobre tu dominio, no una forma de callar al compilador. Añadir `?` para silenciar este error traslada el fallo a quien lea el valor más tarde.