javascript - Hur man inline-desktruerar nästlade valfria egenskaper från ett objekt i Typescript?


Jag har följande kod av en typ User som har en valfri typ Address som jag vill destrukturera på en rad. Men när jag försöker får jag ett felmeddelande som säger:

Egenskapen 'street' finns inte på typen 'Address | undefined'

Klicka här för att se Typescript-lekplatsen för koden som tillhandahålls nedan

type User = {
 age: number;
 address?: Address;
}

type Address = {
 street?: string;
}

const user: User = {
 age: 22,
 address: {}
}

const {age, address: {street}} = user

Här existerar inte street på typen Address | undefined

Svar #1

Du behöver initialisera address i din const.

Så här:

const {age, address : {street} = {}} = user;

PlaygroundLink

Relaterade artiklar