ESLint v8.x reached end-of-life on 2024-10-05 and is no longer maintained. Upgrade or consider long-term support options
Versions

no-compare-neg-zero

Disallow comparing against -0

✅ Recommended

The "extends": "eslint:recommended" property 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