Saltar al contenido

    ↑↓ mover · ⏎ abrir · esc cerrar

    TS2741

    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

    1. 01
      type Need = { a: number; b: string }
      
      const x: Need = { a: 1, b: 'two' }

      Proporciónala.

    2. 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.

    Errores