如何修改tsConfig配置以完全禁止使用any类型
配置说明
noImplicitAny: true的生效范围仅为TypeScript自动类型推导场景,开启后如果TS无法推断出某个变量/参数的类型,会直接抛出编译错误,而不是默认推导为any。该配置不会限制开发者主动手动标注any类型,因此你依然可以在代码中正常使用any。
完全禁用
any类型的配置方法 你需要额外开启noExplicitAny编译规则,开启后所有主动声明的any类型都会触发编译报错,从语法层面完全禁止any的使用。
配置示例如下:
// tsconfig.json { "compilerOptions": { "noImplicitAny": true, // 禁止隐式推导为any "noExplicitAny": true, // 禁止主动声明any // 其余原有配置项保持不变即可 } }
补充说明
- 如果存在少数必须跳过类型校验的场景,不推荐使用
any,可以优先改用unknown类型,结合类型守卫使用可以在保证灵活性的同时不丢失类型安全。 - 如果是历史项目需要逐步替换存量
any,可以搭配ESLint规则@typescript-eslint/no-explicit-any,先将规则等级设置为warn,待存量问题清理完成后再改为error,更适配渐进式迁移场景。
内容的提问来源于stack exchange,提问作者Nouh Belahcen
相关产品推荐
相关产品推荐

