TS2739
Obiekt nie ma wymaganych właściwości
Type '{}' is missing the following properties from type 'Point': x, yWłasne słowa kompilatora. Nietłumaczone — to ten ciąg, który wkleiłeś w wyszukiwarkę.
Typ docelowy wymaga kilku składowych, a przekazany obiekt nie ma żadnej z nich.
Odtworzenie
interface Point { x: number y: number } const point: Point = {}
Build potwierdza, że to emituje dokładnie ten kod.
Dlaczego kompilator tak mówi
Typowanie strukturalne sprawdza składowe, które wartość rzeczywiście dostarcza. Pusty obiekt nie spełnia kontraktu obiecującego liczbowe właściwości `x` i `y`, nawet jeśli kod zamierza uzupełnić je później.
Naprawy
- 01
interface Point { x: number y: number } const point: Point = { x: 0, y: 0 }
Utwórz pełną wartość, zanim nadasz jej pełny typ.
- 02
interface Point { x: number y: number } const draft: Partial<Point> = {}
Jawnie przedstaw niepełny etap budowy za pomocą `Partial`.
Wniosek
Wymagana właściwość jest obietnicą dostępną od razu. Użyj osobnego typu szkicu, jeśli obiekt nie jest jeszcze gotowy.
