DEV Community

Cover image for Numeric Separators in JavaScript
Suprabha
Suprabha

Posted on

18 4

Numeric Separators in JavaScript

Numeric Separators give us the ability to separate thousands with an underscore (_) in numeric literals.

How it’s useful❓

It makes our code more informative and readable.

let series = 10000;
Enter fullscreen mode Exit fullscreen mode

Numeric Separators in javascript, enables underscore as a separator in numeric literals to improve readability.

Example:

let series = 1_00_00;
Enter fullscreen mode Exit fullscreen mode

You can also use this for binary, octal, and hex numbers.

Binary Number πŸ‘»

let series1 = 0b1010_0101_1001;
console.log(series1); // 2649
Enter fullscreen mode Exit fullscreen mode

Octal Number: πŸ‘»

let series2 = 0o2_3_5_7;
console.log(series2); // 1263
Enter fullscreen mode Exit fullscreen mode

Hex Number: πŸ‘»

let series3 = 0xA_B_C_D_E;
console.log(series3); // 703710
Enter fullscreen mode Exit fullscreen mode

Few Limitation πŸ€¦β€β™€οΈ

Below limitation snippet will throw SyntaxError

  1. More than one underscore in a row is not allowed

    let series1 = 100__000;
    
  2. Can not be used after leading 0

    let series2 = 0_1;
    
  3. Not allowed at the end of numeric literals

    let series3= 100_;
    

Browser Support πŸŽ—

This feature has pretty good support in recent versions of browsers.

Check this out πŸ‘‡

browser support for numeric separators

Reference 🧐

🌟 Twitter πŸ‘©πŸ»β€πŸ’» Suprabha.me 🌟 Instagram

Top comments (2)

Collapse
 
lionelrowe profile image
lionel-rowe β€’ β€’ Edited

Usually you'd use them where you'd use commas, dots, or spaces, depending on region, in prose. So every 3 decimal digits in the thousand/million/billion convention (10_000_000), or every 2-3 in the thousand/crore/lakh convention (1_00_00_000).

For hex, delimiting every 2 digits splits neatly into bytes (0xff_00_ff), or for binary you could split into groups of 4 to give "nibbles" - half a byte, equivalent to 1 hex digit each (0b1010_1010).

Collapse
 
nguyenit67 profile image
Nguyen β€’

wouldn't know about this until now!

Visualizing Promises and Async/Await πŸ€“

async await

☝️ Check out this all-time classic DEV post on visualizing Promises and Async/Await πŸ€“

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❀️