这个
const { foo: IFoo[] } = bar;
和这个
const { foo: Array<IFoo> } = bar;
会合理地导致错误。
和这个
const { foo: TFoo } = bar;
只会破坏 TFoo
属性。
如何为解构对象属性指定类型?
原文由 Estus Flask 发布,翻译遵循 CC BY-SA 4.0 许可协议
这个
const { foo: IFoo[] } = bar;
和这个
const { foo: Array<IFoo> } = bar;
会合理地导致错误。
和这个
const { foo: TFoo } = bar;
只会破坏 TFoo
属性。
如何为解构对象属性指定类型?
原文由 Estus Flask 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有这样的场景:
const { _id } = req.query
if (_id.substr(2)) { 🚫
...
}
其中 req.query
的类型如下
type ParsedUrlQuery = { [key: string]: string | string[] }
所以这样做有效:
const { _id } = req.query as { _id: string }
if (_id.substr(2)) { 🆗
...
}
具有讽刺意味的是,Typescript 是正确的,我应该这样做:
const _id = String(req.query._id) ✅
原文由 King Friday 发布,翻译遵循 CC BY-SA 4.0 许可协议
事实证明,可以在
:
之后为整个解构模式指定类型:这实际上并不比普通的旧