跳至內容

eslint/no-unsafe-negation 正確性

此規則預設為開啟。
🛠️ 此規則提供自動修正。

功能說明

禁止對關係運算符的左運算元使用否定

為何這樣不好?

正如開發人員可能會在想要表達負數總和時輸入 -a + b 來代替 -(a + b),他們可能會錯誤地輸入 !key in object,而他們幾乎肯定是要表示 !(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 許可發布。