no-self-compare
不允許兩邊完全相同的比較
將變數與自身進行比較通常是錯誤,可能是拼寫錯誤或重構錯誤。這會讓讀者感到困惑,並可能導致執行階段錯誤。
唯一會將變數與自身進行比較的情況是測試 NaN
。然而,使用 typeof x === 'number' && isNaN(x)
或 Number.isNaN ES2015 函式 更為適合這種情況,而不是讓程式碼的讀者判斷自我比較的意圖。
規則詳情
提出此錯誤是為了強調可能令人困惑且可能毫無意義的程式碼片段。幾乎沒有任何情況需要將某事物與自身進行比較。
此規則的不正確程式碼範例
在遊樂場開啟
/*eslint no-self-compare: "error"*/
var x = 10;
if () {
x = 20;
}
版本
此規則在 ESLint v0.0.9 中引入。