为何@typescript-eslint/no-unnecessary-conditions规则会误判"!!"表达式?
问题成因分析
- 核心问题出在
@typescript-eslint/no-unnecessary-conditions规则的类型分析逻辑上,它出现了误判。 - 你的代码里
nullableThing的类型是Foo | null,!!nullableThing本来是合理的条件判断:当变量是Foo实例时结果为true,是null时结果为false,完全有存在的必要。 - 但该规则在处理包含
null的联合类型时,错误地认定!!nullableThing的结果“始终为假”,所以抛出了不符合实际的错误提示。 - 这种情况一般是该规则的旧版本存在bug,或者你的ESLint配置里有冲突的选项,干扰了规则的类型分析逻辑。
内容的提问来源于stack exchange,提问作者Charlie
相关产品推荐
相关产品推荐

