是否存在TSLint / ESLint规则以防止不必要的布尔比较,如:
if (result === false) {
// do something
}
答案 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"
}
]
当操作数中的任何一个(或两个)都是布尔文字时,选择器不允许使用==
,===
,!=
和!==
。