跳至内容

eslint/no-unsafe-negation 正确性

此规则默认开启。
🛠️ 此规则提供了自动修复功能。

作用

不允许取反关系运算符的左操作数

这个为什么不好?

就像开发者可能想要键入 -a + b 而不是 -(a + b) 来对求和取负值一样,他们可能也错误地在 object 中键入 !key,而不是几乎肯定意味着 !(key in object) 来测试一个键不在一个对象中。!obj instanceof Ctor 类似。

示例

javascript
if ((!key) in object) {
  //operator precedence makes it equivalent to (!key) in object
  //and type conversion makes it equivalent to (key ? "false" : "true") in object
}

参考文献

在 MIT 许可下发布。