如关于 keyof
运算符的 Typescript 文档中所述,可以使用以下函数获取对象实例的属性。
function getProperty<T, K extends keyof T>(o: T, name: K) {
return o[name];
}
当然,可以通过将 return o[name]
替换为 return typeof o[name]
--- 来获取属性的类型。有没有办法在 不传递任何对象实例 的情况下检索属性的类型?
function getPropertyType<T>(name: keyof T) {
// something like T[name]?
}
原文由 bmdelacruz 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是你要找的吗?
并通过执行以下操作获取对象属性的类型:
与typescript中使用
Pick
的方式相同,如果传入无效的key
会报编译错误。更新
正如@astoilkov 建议的那样,一个更简单的选择是
PropType['key']
。