no-compare-neg-zero

不允许与 -0 进行比较

Recommended

配置文件 中使用来自 @eslint/jsrecommended 配置可以启用此规则

规则详情

¥Rule Details

该规则应该警告尝试与 -0 进行比较的代码,因为这不会按预期工作。也就是说,像 x === -0 这样的代码将通过 +0-0。作者可能打算 Object.is(x, -0)

¥The rule should warn against code that tries to compare against -0, since that will not work as intended. That is, code like x === -0 will pass for both +0 and -0. The author probably intended Object.is(x, -0).

此规则的错误代码示例:

¥Examples of incorrect code for this rule:

在线运行
/* eslint no-compare-neg-zero: "error" */

if (x === -0) {
    // doSomething()...
}

此规则的正确代码示例:

¥Examples of correct code for this rule:

在线运行
/* eslint no-compare-neg-zero: "error" */

if (x === 0) {
    // doSomething()...
}
在线运行
/* eslint no-compare-neg-zero: "error" */

if (Object.is(x, -0)) {
    // doSomething()...
}

版本

此规则是在 ESLint v3.17.0 中引入。

资源

ESLint 中文网
粤ICP备13048890号