假设我有一个对象,它具有这种形状的可选属性。
interface MyObject {
requiredProp: SomeType;
optionalProp?: {
innerData: {
innerProp1: string;
innerProp2: number;
innerProp3?: boolean;
}
}
}
const obj:MyObject = { ... }
但是似乎我不能轻易地解构那个optionalProp
const {innerProp1, innerProp2, innerProp3} = obj.optionalProp?.innerData;
因为
类型“... | undefined”的属性“innerProp1”不存在。
其他解构变量也是一样。
有没有一种优雅且简短的方式来保持类型安全?
obj.optionalProp?.innerData ?? {}
。 - VLAZ