JavaScript Number NEGATIVE_INFINITY Property

Beginner
⏱️ 10 min read
📚 Updated: Jul 2026
🎯 5 Examples
🚀 5 Try-it labs
Static property

What You’ll Learn

Number.NEGATIVE_INFINITY is a static data property on Number (same API as MDN Number.NEGATIVE_INFINITY). It is the negative Infinity value — the same as -Infinity and -Number.POSITIVE_INFINITY. You get it when math overflows past -MAX_VALUE, or from expressions like -1 / 0. This tutorial covers detection, IEEE-754 rules, five examples, and try-it labs.

01

Kind

Static property

02

Value

-Infinity

03

Same as

-Infinity

04

From

Overflow / −1÷0

05

Writable

No

06

Baseline

Everywhere

Introduction

IEEE-754 floating point includes two signed infinities. Number.NEGATIVE_INFINITY is how JavaScript names negative infinity — smaller than every finite Number, including -Number.MAX_VALUE.

It is the same value as -Infinity ((Number.NEGATIVE_INFINITY === -Infinity), and also equals -Number.POSITIVE_INFINITY. Prefer the Number. form so infinity stays with other Number constants, and because it is non-writable.

💡
Static Property

Static properties belong to Number itself. Always write Number.NEGATIVE_INFINITY. There is no (5).NEGATIVE_INFINITY, and you do not call it like a function.

This page is part of JavaScript Number Properties. Related tools include Number.POSITIVE_INFINITY, Number.isFinite(), and Number.MAX_VALUE.

Understanding the NEGATIVE_INFINITY Property

Negative infinity is not “a huge negative finite number” — it is a special IEEE-754 value. Once a result becomes -Infinity, further math often stays infinite (or becomes NaN in indeterminate cases like -Infinity / -Infinity).

  • It is a constant number, not a method.
  • Same value as -Infinity and -Number.POSITIVE_INFINITY.
  • Less than every finite Number: Number.NEGATIVE_INFINITY < -Number.MAX_VALUE.
  • Detect with === Number.NEGATIVE_INFINITY or !Number.isFinite(x).

📝 Syntax

General form of the static property Number.NEGATIVE_INFINITY:

JavaScript
Number.NEGATIVE_INFINITY

Value

The same as the negative value of the global Infinity property (-Infinity).

Property attributes

AttributeValue
Writablefalse
Enumerablefalse
Configurablefalse

Common patterns

JavaScript
Number.NEGATIVE_INFINITY;                  // -Infinity
Number.NEGATIVE_INFINITY === -Infinity;    // true
Number.NEGATIVE_INFINITY === -Number.POSITIVE_INFINITY; // true
-Number.MAX_VALUE * 2;                     // -Infinity
-1 / 0;                                    // -Infinity

Number.isFinite(Number.NEGATIVE_INFINITY); // false

function checkNumber(smallNumber) {
  if (smallNumber === Number.NEGATIVE_INFINITY) {
    return "Process number as -Infinity";
  }
  return smallNumber;
}

⚡ Quick Reference

GoalCode
Read negative InfinityNumber.NEGATIVE_INFINITY
Positive InfinityNumber.POSITIVE_INFINITY
Detect exactly −∞x === Number.NEGATIVE_INFINITY
Any non-finite?!Number.isFinite(x)
Overflow past −MAX_VALUE-Number.MAX_VALUE * 2
Negative divide by zero-1 / 0-Infinity

🔍 At a Glance

Four facts to remember about Number.NEGATIVE_INFINITY.

Kind
static

Property on Number

Value
-Infinity

Same as -Infinity

Finite?
no

isFinite → false

Mutable
no

Read-only constant

📋 NEGATIVE_INFINITY vs -MAX_VALUE vs POSITIVE_INFINITY

NEGATIVE_INFINITY-MAX_VALUEPOSITIVE_INFINITY
Finite?NoYesNo
Approx. sizeSpecial −∞~−1.8e+308Special +∞
Identity=== -InfinityFinite Number=== Infinity
Twin-POSITIVE_INFINITY-NEGATIVE_INFINITY

Examples Gallery

Examples follow MDN Number.NEGATIVE_INFINITY patterns. Use View Output or Try It Yourself for each case.

📚 Getting Started

Read the constant and see negative overflow produce -Infinity.

Example 1 — Read Number.NEGATIVE_INFINITY

Confirm it matches -Infinity and -POSITIVE_INFINITY.

JavaScript
Number.NEGATIVE_INFINITY;
Number.NEGATIVE_INFINITY === -Infinity;  // true
Number.NEGATIVE_INFINITY === -Number.POSITIVE_INFINITY;  // true
Try It Yourself

How It Works

All three expressions name the same IEEE-754 negative-infinity value.

Example 2 — Overflow Past -MAX_VALUE

Most-negative finite exceeded → -Infinity.

JavaScript
-Number.MAX_VALUE * 2;  // -Infinity
Try It Yourself

How It Works

-Number.MAX_VALUE is still finite. Doubling its magnitude crosses into Number.NEGATIVE_INFINITY.

📈 Practical Patterns

MDN-style checks, division by zero, and isFinite.

Example 3 — MDN Overflow Guard

Branch when a value is exactly negative Infinity.

JavaScript
function checkNumber(smallNumber) {
  if (smallNumber === Number.NEGATIVE_INFINITY) {
    return "Process number as -Infinity";
  }
  return smallNumber;
}

checkNumber(-Number.MAX_VALUE);      // -1.7976931348623157e+308
checkNumber(-Number.MAX_VALUE * 2);  // "Process number as -Infinity"
Try It Yourself

How It Works

Strict equality works because there is only one negative Infinity value.

Example 4 — Negative Division by Zero

In JavaScript, -1 / 0 does not throw — it yields -Infinity.

JavaScript
-1 / 0;                                  // -Infinity
-1 / 0 === Number.NEGATIVE_INFINITY;     // true
1 / Number.NEGATIVE_INFINITY;            // -0
Try It Yourself

How It Works

IEEE-754 signed zeros: a positive finite divided by −∞ is -0 (often printed as 0). Use Object.is(x, -0) to detect it.

Example 5 — Pair with isFinite()

-Infinity is a number type, but it is not finite.

JavaScript
typeof Number.NEGATIVE_INFINITY;                 // "number"
Number.isFinite(Number.NEGATIVE_INFINITY);       // false
Number.NEGATIVE_INFINITY < -Number.MAX_VALUE;    // true
Try It Yourself

How It Works

Use Number.isFinite() when you need to reject Infinity, -Infinity, and NaN together.

🚀 Common Use Cases

  • Overflow detection — compare results to Number.NEGATIVE_INFINITY.
  • Open lower bounds — algorithms sometimes use −∞ as an initial minimum.
  • Graphics / physics — represent unbounded negative extents carefully.
  • Validation — reject non-finite inputs with Number.isFinite.
  • Not for errors by default — MDN notes NaN is often a better failure signal.
  • Teaching IEEE-754 — show that -1 / 0 is defined as -Infinity in JS.

🧠 How Values Become NEGATIVE_INFINITY

1

Start with finite math

Multiply or divide toward large negative magnitudes.

Input
2

Cross the finite floor

Past -MAX_VALUE (or via -1 / 0), no finite result fits.

Limit
3

Produce −Infinity

The result becomes Number.NEGATIVE_INFINITY.

Result
4

Detect and handle

Compare, clamp, or reject with isFinite.

📝 Notes

  • This is a static property — use Number.NEGATIVE_INFINITY only.
  • Do not write Number.NEGATIVE_INFINITY() — it is not a function.
  • Number.NEGATIVE_INFINITY === -Infinity is true.
  • 0 * -Infinity and -Infinity / -Infinity are NaN.
  • Positive twin: Number.POSITIVE_INFINITY.
  • Prefer Number.isFinite() to reject all non-finite values.

Browser & Runtime Support

Number.NEGATIVE_INFINITY is Baseline Widely available and supported in every modern browser and Node.js.

Baseline · Widely available

Number.NEGATIVE_INFINITY

Safe for production everywhere. Same value as -Infinity, grouped under Number.

100% Universal support
Google Chrome Supported · Desktop & Mobile
Full support
Mozilla Firefox Supported · Desktop & Mobile
Full support
Apple Safari Supported · macOS & iOS
Full support
Microsoft Edge Supported · Chromium
Full support
Internet Explorer No native support · Use a polyfill
Polyfill
Opera Supported · Modern versions
Full support
Samsung Internet Supported · Android
Full support
Bun Supported · JavaScript runtime
Supported
Deno Supported · JavaScript runtime
Supported
Node.js Supported · Server runtime
Supported
Android WebView Supported · Modern WebView
Full support
Number.NEGATIVE_INFINITY Excellent

Bottom line: Use Number.NEGATIVE_INFINITY to name negative infinity. Detect overflow with === or Number.isFinite. Remember -MAX_VALUE is still finite.

Conclusion

Number.NEGATIVE_INFINITY is the static constant for negative Infinity — the value you get from negative overflow and -1 / 0, identical to -Infinity.

Continue with NaN, POSITIVE_INFINITY, MAX_VALUE, isFinite(), or the Number properties hub.

💡 Best Practices

✅ Do

  • Read Number.NEGATIVE_INFINITY on the constructor
  • Compare with === when you mean exactly −∞
  • Use Number.isFinite(x) to reject Infinity and NaN
  • Guard math that may overflow past -MAX_VALUE
  • Pair it with POSITIVE_INFINITY when teaching signed infinities

❌ Don’t

  • Write (5).NEGATIVE_INFINITY or call it as a function
  • Assume -MAX_VALUE is already -Infinity
  • Ignore -Infinity / -Infinity becoming NaN
  • Use -Infinity as a general error code when NaN fits better
  • Forget the positive twin POSITIVE_INFINITY

Key Takeaways

Knowledge Unlocked

Five things to remember about Number.NEGATIVE_INFINITY

Static name for IEEE-754 negative infinity.

5
Core concepts
02

Value

-Infinity

Constant
🚀 03

Cause

overflow

Source
04

Check

isFinite

Validate
05

Mutable

no

Readonly

❓ Frequently Asked Questions

Number.NEGATIVE_INFINITY is the negative Infinity value on Number. It is the same as -Infinity (and -Number.POSITIVE_INFINITY). Example: -Number.MAX_VALUE * 2 equals Number.NEGATIVE_INFINITY.
Yes. Read it on Number itself: Number.NEGATIVE_INFINITY. There is no (5).NEGATIVE_INFINITY on number instances, and it is not a method.
They are opposite IEEE-754 infinities. Number.NEGATIVE_INFINITY === -Number.POSITIVE_INFINITY is true. Both are non-finite numbers.
Compare with Number.NEGATIVE_INFINITY, or use Number.isFinite(x) which returns false for Infinity, -Infinity, and NaN.
No. -Number.MAX_VALUE is still a finite Number (the most negative finite). Going more negative — for example -Number.MAX_VALUE * 2 — becomes Number.NEGATIVE_INFINITY.
It is Baseline Widely available and supported in every modern browser and Node.js.
Did you know?

IEEE-754 has signed infinities and signed zeros. That is why 1 / 0 is Infinity while -1 / 0 is -Infinity, and why dividing a positive by -Infinity yields -0.

More Number Properties

Return to the hub for static Number constants.

Number properties hub →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful