是否有 TSLint/ESLint 规则来防止 (boolean === true) 类型的比较?
Is there a TSLint/ESLint rule to prevent (boolean === true) type of comparisons?
是否有 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"
}
]
选择器不允许使用 ==
、===
、!=
和 !==
,当其中一个(或两个)操作数是布尔值时。
TSLint 支持规则 no-boolean-literal-compare
,它就是这样做的。
rules
数组中的 "no-boolean-literal-compare": true
将启用此功能。
文档 link:https://palantir.github.io/tslint/rules/no-boolean-literal-compare/
是否有 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"
}
]
选择器不允许使用 ==
、===
、!=
和 !==
,当其中一个(或两个)操作数是布尔值时。
TSLint 支持规则 no-boolean-literal-compare
,它就是这样做的。
rules
数组中的 "no-boolean-literal-compare": true
将启用此功能。
文档 link:https://palantir.github.io/tslint/rules/no-boolean-literal-compare/