如何从 Typescript 中的对象内联析构嵌套可选属性?

问题描述 投票:0回答:1

我有以下 User 类型的代码,它具有可选类型

Address
,我想在一行中对其进行解构。但是,当我尝试时,我收到一条错误消息:

类型“地址|”上不存在属性“街道”未定义'

单击此处查看下面提供的代码的 Typescript 游乐场

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

type Address = {
 street?: string;
}

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

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

此处 street 在类型

Address | undefined

上不存在
javascript typescript typescript-typings typescript2.0
1个回答
16
投票

您需要初始化

address
中的
const

像这样:

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

游乐场链接

© www.soinside.com 2019 - 2024. All rights reserved.