在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开发中使用typescript的时候,经常会遇到使用 Object.keys 这个方法报错的情况,报错如下: 错误场景1 var foo = { a: '1', b: '2' } var getPropertyValue = Object.keys(foo).map(item => foo[item]) // 这里会有typescript的错误提示 错误场景2 var foo = { a: '1', b: '2' } function getPropertyValue(obj, key) { // 这里也会提示obj会有any类型 return obj[key] }
场景1解决方案: 通过 keyof 的方式可以获取ts 类型的属性key的值
var foo = { a: '1', b: '2' } // 这里typeof foo => foo的类型 等同于 interface Foo { a: string; b: string; }
type FooType = keyof typeof foo;
场景2解决方案: var foo = { a: '1', b: '2' } // 这里声明了两个泛型 T 和 K
总结: 这里涉及到typescript的两个知识点 1、keyof的用法 2、泛型的用法
|
请发表评论