如何通过tsserver彻底消除隐式any类型的所有提示?
彻底移除TypeScript中所有隐式any相关提示的方法
问题背景
示例代码
function test(v) { console.log("Test: ", v); } test(123)
初始tsconfig配置
{ "compilerOptions": { "strict": true } }
遇到的问题
- 启用
strict: true后,代码触发错误:7006 Parameter 'v' implicitly has an 'any' type - 添加
noImplicitAny: false后,错误转为提示信息:7044 Parameter 'v' implicitly has an 'any' type, but a better type may be inferred from usage. - 老旧项目加载IDE时会弹出大量这类提示,需要彻底清除所有隐式any相关的消息
解决方法
要彻底消除所有隐式any相关的错误和提示,可按以下方式修改tsconfig.json:
方法一:通过配置项精准关闭检查
如果希望保留strict模式下的其他检查规则,仅关闭隐式any相关的所有提示,可添加以下配置:
{ "compilerOptions": { "strict": true, "noImplicitAny": false, "strictImplicitAny": false, "suppressImplicitAnyIndexErrors": true } }
noImplicitAny: false:关闭隐式any的错误检查strictImplicitAny: false:关闭隐式any的提示信息(即消除7044号提示)suppressImplicitAnyIndexErrors: true:额外关闭对象索引签名的隐式any提示(适配项目中存在的这类场景)
方法二:直接忽略指定诊断码
如果只需要针对性消除7006和7044这两个隐式any相关的提示,可添加ignoreDiagnostics配置:
{ "compilerOptions": { "strict": true, "ignoreDiagnostics": [7006, 7044] } }
方法三:关闭strict模式(不推荐)
如果项目不需要任何严格检查,可直接设置strict: false,这会自动关闭所有隐式any相关的检查,但同时也会关闭其他严格规则,可能导致其他类型问题被遗漏:
{ "compilerOptions": { "strict": false } }
内容的提问来源于stack exchange,提问作者Dmitry
相关产品推荐
相关产品推荐

