是否存在ESLint/TypeScript ESLint规则检测恒真或恒假表达式?
识别临时测试用布尔表达式的ESLint规则
确实有对应的ESLint/TypeScript ESLint规则可以检测这类临时修改,具体如下:
no-constant-binary-expression(ESLint核心规则)
这个规则会标记运算结果恒定的二元表达式,比如x || true(结果永远为true)、x && false(结果永远为false)这类写法,刚好匹配你提到的临时测试修改。开启后,ESLint会直接抛出错误或警告,阻止这类代码被提交。@typescript-eslint/no-unnecessary-condition(TypeScript ESLint规则)
针对TypeScript项目,这个规则会检测不必要的条件判断,其中就包括逻辑表达式里的常量值。比如当你写if (someVar && false)时,它会识别出这个条件永远为false,属于不必要的判断并给出提示。
配置方式很简单,在你的ESLint配置文件(如.eslintrc.js)里开启对应规则即可:
module.exports = { rules: { // ESLint核心规则 "no-constant-binary-expression": "error", // TypeScript ESLint规则(如果使用TS项目) "@typescript-eslint/no-unnecessary-condition": "error" } };
如果需要更个性化的检测逻辑,也可以通过ESLint自定义规则实现,但上面两个现成规则已经足够覆盖你的需求。
内容的提问来源于stack exchange,提问作者Valentin
相关产品推荐
相关产品推荐

