Ser*_*nov 3 destructuring typescript
假设我有一个带有这种形状的可选道具的物体
interface MyObject {
requiredProp: SomeType;
optionalProp?: {
innerData: {
innerProp1: string;
innerProp2: number;
innerProp3?: boolean;
}
}
}
const obj:MyObject = { ... }
Run Code Online (Sandbox Code Playgroud)
但似乎我不能轻易地破坏它optionalProp
const {innerProp1, innerProp2, innerProp3} = obj.optionalProp?.innerData;
Run Code Online (Sandbox Code Playgroud)
因为
属性“innerProp1”在类型“...”上不存在 不明确的'。
其余的解构变量也是如此。
有没有一种优雅而简短的方法来保持类型安全?
您可以使用空对象作为后备。
const {innerProp1, innerProp2, innerProp3} = obj.optionalProp?.innerData ?? {};
Run Code Online (Sandbox Code Playgroud)
但你应该记住在使用每个innerProp之前检查它是否未定义。
| 归档时间: |
|
| 查看次数: |
4250 次 |
| 最近记录: |