是否有TSLint / ESLint规则来阻止(boolean === true)类型的比较?

时间:2016-02-05 09:39:01

标签: eslint tslint

是否存在TSLint / ESLint规则以防止不必要的布尔比较,如:

if (result === false) {
  // do something
} 

2 个答案:

答案 0 :(得分:1)

TSLint支持规则no-boolean-literal-compare,它就是这样做的。

"no-boolean-literal-compare": true数组中的

rules将启用此功能。

文档链接:https://palantir.github.io/tslint/rules/no-boolean-literal-compare/

答案 1 :(得分:0)

您目前可以使用ESLint完成此任务:

"no-restricted-syntax": [
    "error",
     {
        "selector": "BinaryExpression[operator=/^(==|===|!=|!==)$/][left.raw=/^(true|false)$/], BinaryExpression[operator=/^(==|===|!=|!==)$/][right.raw=/^(true|false)$/]",
        "message": "Don't compare for equality against boolean literals"
     }
]

当操作数中的任何一个(或两个)都是布尔文字时,选择器不允许使用=====!=!==

Source