如何从TypeScript给定类型中提取特定属性的类型?
TypeScript提取对象属性类型的正确方式
直接用TypeScript的索引类型查询语法就能搞定,完全不需要你那套临时变量的写法。
原类型定义:
type Foo = { bar: string; xxx: { abc: string; def: number; }; };
提取xxx属性的类型只需要一行:
type XXXType = Foo['xxx'];
这样定义后,XXXType就和Foo里xxx的结构完全一致,直接用它来定义参数就行:
function handleXXX(param: XXXType) { console.log(param.abc, param.def); }
你之前的临时方法虽然能跑,但属于绕远路,TypeScript原生就支持直接通过类型加属性名的方式提取子类型,这才是规范的写法。
内容的提问来源于stack exchange,提问作者Ruben Serrate
相关产品推荐
相关产品推荐

