现代JavaScript_数字分隔符

数字分隔符用下划线提升大数可读性,如1_000_000;支持十进制、二进制、八进制、十六进制和科学计数法;不能在首尾、连续使用或紧邻小数点及e符号。

JavaScript 在 ES2025 中引入了数字分隔符(Numeric Separator),用下划线 _ 来增强大数字的可读性。你可以把下划线插入数字字面量中,帮助分隔千位、字节、或任何你觉得更易读的位置,而不会影响数值本身。

基本用法

在数字中间使用 _ 不会改变其值,只是提升可读性。

const billion = 1_000_000_000;
const bytes = 0b1010_1100_0011;
const hex = 0xFF_A0_B0;
console.log(billion); // 1000000000
console.log(bytes); // 2755
console.log(hex); // 16750832

这个特性适用于:

  • 十进制数(1_234)
  • 二进制数(0b1010_1101)
  • 八进制数(0o123_456)
  • 十六进制数(0xFF_AB_CD)
  • 科学计数法(1e10_000)

使用规则和限制

虽然灵活,但有几点要注意:

  • 不能出现在数字的开头或结尾,比如 _123123_ 是错的
  • 不能连续使用多个下划线,如 1__000 会报错
  • 不能紧挨小数点,3._143_.14 都非法
  • 不能放在 eE 前后,如 1e_10 不合法

实际应用场景

在处理金额、时间戳、内存大小等大数时特别有用。

const salary = 1_000_000; // 一百万,一眼看懂
const timeout = 30_000; // 30秒,比30000清晰
const fileLength = 1_234_567_890; // 文件大小接近1.2GB

团队协作中,这种写法能减少误读风险,比如把 10000000 看成一百万还是一千万。

基本上就这些。数字分隔符不复杂,但很实用,尤其在配置常量或调试时,能让代码更清晰。只要记住别乱放位置,就能安全使用。