no-negated-in-lhs
禁止在 in
表达式中否定左操作数
正如开发者可能会将 -a + b
误写成 -(a + b)
来表示和的负数一样,他们也可能错误地输入 !key in object
,而他们几乎肯定想表达的是 !(key in object)
来测试一个键是否不在对象中。
规则详情
此规则禁止在 in
表达式中否定左操作数。
此规则的 错误 代码示例
在代码演练场中打开
/*eslint no-negated-in-lhs: "error"*/
if() {
// operator precedence makes it equivalent to (!key) in object
// and type conversion makes it equivalent to (key ? "false" : "true") in object
}
此规则的 正确 代码示例
在代码演练场中打开
/*eslint no-negated-in-lhs: "error"*/
if(!(key in object)) {
// key is not in object
}
if(('' + !key) in object) {
// make operator precedence and type conversion explicit
// in a rare situation when that is the intended meaning
}
何时不使用此规则
从不。
版本
此规则在 ESLint v0.1.2 中引入。