JavaScript Numeric Separators: Basic and Advanced Examples

Updated: February 19, 2024 By: Guest Contributor Post a comment


In modern JavaScript, readability is key. One feature that enhances readability, especially when dealing with large numbers, is the Numeric Separator. This feature allows developers to write numeric literals in a more readable form by using underscores (_) as separators. In this guide, we’ll explore both basic and advanced applications of numeric separators to enhance your JavaScript coding practices.

What are Numeric Separators?

Numeric separators in JavaScript provide a way to make numeric literals more readable by allowing underscores as separators for digit grouping. This feature is handy when working with large numbers, where it can be challenging to quickly ascertain the scale of the number (e.g., thousands, millions, billions).

Basic Examples

Let’s start with some simple examples to demonstrate the basic use of numeric separators.

const billion = 1_000_000_000;
console.log(billion); // 1000000000

const creditCardNumber = 1234_5678_9012_3456;
console.log(creditCardNumber); // 1234567890123456

const bytes = 0b1010_1111_0101_1110;
console.log(bytes); // 44894

const octal = 0o2_345_671;
console.log(octal); // 1001593

const hex = 0xA_BCD_EF01;
console.log(hex); // 2882400001

As shown above, numeric separators can be used in decimal, binary, octal, and hexadecimal literals. This not only enhances readability but also maintains the literal’s value without any modification.

Advanced Examples

Now, let’s move to some more sophisticated usage of numeric separators:

const price = 10_00; // Representing 10.00 in a currency format
console.log(price); // 1000

const phoneNumber = 91_12345_67890; // Separating country code and number
console.log(phoneNumber); // 911234567890

const scientificNotation = 1e3_000; // Not valid! Throws a SyntaxError

const fraction = 3.14_15; // Decimal places can be separated too
console.log(fraction); // 3.1415

Note that while underscores can enhance readability in various numeric formats, they’re not allowed in scientific notation (e.g., in the exponent part of a number), as this will throw a SyntaxError.

Practical Applications

Beyond mere aesthetics, numeric separators serve practical applications:

  • Debugging: Easier to spot errors in numbers with visually separated groups.
  • Performance: No impact on runtime performance, as numeric separators are purely a syntactic feature.
  • Data Representation: Ideal for presenting data that naturally comes in large numbers, such as financial figures or identifiers like social security numbers.

Compatibility and Support

Most modern JavaScript environments, including recent browsers and Node.js versions, support numeric separators. However, when targeting older environments, consider using a transpiler like Babel to ensure compatibility.


Numeric separators bring both readability and scalability to your JavaScript code. By using them, developers can easily interpret large or complex numeric literals, improving both the maintainability and readability of the code. While its introduction is relatively recent in the lifetime of JavaScript, its impact on coding clarity is significant and highly beneficial.

Embracing new language features such as numeric separators demonstrates a commitment to modern, clean, and readable code. Start incorporating them into your projects today and witness the improvement in code quality firsthand!