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 0.0.9中引入。