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;
let series = 1_00_00;
You can also use this for binary, octal, and hex numbers.
Binary Number 👻
let series1 = 0b1010_0101_1001; console.log(series1); // 2649
Octal Number: 👻
let series2 = 0o2_3_5_7; console.log(series2); // 1263
Hex Number: 👻
let series3 = 0xA_B_C_D_E; console.log(series3); // 703710
Few Limitation 🤦♀️
Below limitation snippet will throw SyntaxError
More than one underscore in a row is not allowed
let series1 = 100__000;
Can not be used after leading 0
let series2 = 0_1;
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 👇
Top comments (2)
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 (
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 (
wouldn't know about this until now!