Eslint参考手册
规则 | Rules
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中引入。
资源
- Rule source
- Documentation source
规则 | Rules相关

ESLint 是一个代码规范和错误检查工具,有以下几个特性。所有东西都是可以插拔的。你可以调用任意的 rule api 或者 formatter api 去打包或者定义 rule or formatter。任意的 rule 都是独立的。没有特定的 coding style,你可以自己配置。
主页 | https://eslint.org/ |
源码 | https://github.com/eslint/eslint |
发布版本 | 4.12.0 |