在什么情况下,typescript编译器接受以下内容是个好主意:
const foo: string = 7 as any;
我希望会出现一些错误消息,例如Type any is not assignable to type string
。我让一个错误传到生产中,因为我错过了对计算属性的任何隐式转换。
答案 0 :(得分:1)
any
可分配给任何东西,这就是它的全部意义。要理解它为什么存在,重要的是要记住TypeScript是JavaScript的超集。许多JavaScript API都返回任意对象(例如JSON.*
,fetch
),并且没有办法为它们写{/ 1}}的类型声明。此外,any
对于将现有代码库从JS迁移到TS也很有用。
我让一个错误漏到了生产中,因为我错过了对计算属性的任何隐式转换。
将any
中的strict
选项设置为tsconfig.json
。这将禁止未知类型被隐式转换为任何类型。