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;
}