当通过方括号访问对象属性时,是否有办法强制Typescript编译器检测错误?
我正在处理一个旧代码,其中大多数对象属性访问是通过这种方式完成的(group by 1
而不是obj['myProp']
,所以我需要找到一种广告类型的方法。下面是代码示例和遗憾的是,这不会给我带来任何错误:(,有没有一种方法可以使编译器检测到属性“ test”不存在。
obj.myProp
答案 0 :(得分:2)
x['test']
并未在默认编译器设置下进行检查,以简化从Java脚本的迁移,其中[]
通常用于对对象的动态访问。
如果您打开noImplicitAny
,且密钥不在对象中,则会在这种访问方式上出错。