Versions

no-compare-neg-zero

Disallow comparing against -0

Recommended

Using the recommended config from @eslint/js in a configuration file enables this rule

Rule Details

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:

Open in Playground
/* eslint no-compare-neg-zero: "error" */

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

Examples of correct code for this rule:

Open in Playground
/* eslint no-compare-neg-zero: "error" */

if (x === 0) {
    // doSomething()...
}
Open in Playground
/* eslint no-compare-neg-zero: "error" */

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

Version

This rule was introduced in ESLint v3.17.0.

Resources

Change Language