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