Saltar al contenido
TS2739

    ↑↓ mover · ⏎ abrir · esc cerrar

    TS2739

    Al objeto le faltan propiedades obligatorias

    Type '{}' is missing the following properties from type 'Point': x, y

    Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.

    El tipo de destino requiere varios miembros y el objeto proporcionado no tiene ninguno.

    Reproducción

    interface Point {
      x: number
      y: number
    }
    
    const point: Point = {}

    La compilación afirma que esto emite exactamente este código.

    Por qué lo dice el compilador

    El tipado estructural comprueba los miembros que el valor realmente ofrece. Un objeto vacío no satisface un contrato que promete propiedades numéricas `x` e `y`, aunque el código pretenda rellenarlas después.

    Arreglos

    1. 01
      interface Point {
        x: number
        y: number
      }
      
      const point: Point = { x: 0, y: 0 }

      Crea un valor completo antes de darle el tipo completo.

    2. 02
      interface Point {
        x: number
        y: number
      }
      
      const draft: Partial<Point> = {}

      Representa explícitamente una fase de construcción incompleta con `Partial`.

    Conclusión

    Una propiedad obligatoria es una promesa disponible de inmediato. Usa otro tipo de borrador si el objeto aún no está listo.

    Adónde ir después

    Errores