如何从TypeScript接口中提取指定键的类型
如何在TypeScript中获取接口指定键的类型(无需重复定义或额外命名类型)
不用额外复制类型定义或者单独命名类型,直接用TypeScript的索引访问类型就能解决你的需求。
原接口定义:
interface Person { name: Some | Pretty | Complex | Type; age: number; }
你想要的函数写法只需要把Person.name改成Person['name']——这是TypeScript内置的类型查询语法,能直接获取接口指定键对应的类型:
function formatName(name: Person['name']) {}
如果需要更灵活的场景(比如动态获取任意键的类型),还可以结合泛型实现:
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; }
这个泛型函数可以接收任意对象和它的键,返回对应键的类型,同样不需要额外定义类型。
内容的提问来源于stack exchange,提问作者Rene Saarsoo
相关产品推荐
相关产品推荐

