版本

no-self-compare

不允許兩邊完全相同的比較

將變數與自身進行比較通常是錯誤,可能是拼寫錯誤或重構錯誤。這會讓讀者感到困惑,並可能導致執行階段錯誤。

唯一會將變數與自身進行比較的情況是測試 NaN。然而,使用 typeof x === 'number' && isNaN(x)Number.isNaN ES2015 函式 更為適合這種情況,而不是讓程式碼的讀者判斷自我比較的意圖。

規則詳情

提出此錯誤是為了強調可能令人困惑且可能毫無意義的程式碼片段。幾乎沒有任何情況需要將某事物與自身進行比較。

此規則的不正確程式碼範例

在遊樂場開啟
/*eslint no-self-compare: "error"*/

var x = 10;
if (x === x) {
    x = 20;
}

版本

此規則在 ESLint v0.0.9 中引入。

資源

變更語言