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