推荐答案
Numeric Separators (_) 是 ECMAScript 2021(ES12)引入的一个语法特性,允许在数字字面量中使用下划线 _ 作为分隔符,以提高数字的可读性。它不会改变数字的值,仅仅是为了让开发者更容易阅读和理解长数字。
例如:
const billion = 1_000_000_000; // 等同于 1000000000 const binary = 0b1010_0001; // 等同于 0b10100001 const hex = 0xA0_B1_C2; // 等同于 0xA0B1C2
本题详细解读
1. 什么是 Numeric Separators?
Numeric Separators 是一种语法糖,允许在数字字面量中使用下划线 _ 作为视觉上的分隔符。它的目的是提高代码的可读性,尤其是在处理长数字时。
2. 使用场景
- 大数字:例如
1_000_000_000比1000000000更容易阅读。 - 二进制、八进制、十六进制:在非十进制数字中,使用
_分隔符可以更清晰地表示数字的结构。const binary = 0b1010_0001; // 二进制 const octal = 0o12_34; // 八进制 const hex = 0xA0_B1_C2; // 十六进制
3. 注意事项
- 位置限制:
_不能出现在数字的开头或结尾,也不能连续使用多个_。const invalid1 = _100; // 错误 const invalid2 = 100_; // 错误 const invalid3 = 1__00; // 错误
- 不影响数值:
_仅用于视觉分隔,不会改变数字的实际值。console.log(1_000 === 1000); // true
4. 兼容性
Numeric Separators 是 ECMAScript 2021 的新特性,因此在较旧的 JavaScript 引擎中可能不支持。建议在使用时检查目标环境的兼容性。
5. 示例代码
// www.javascriptcn.com code example // 十进制 const million = 1_000_000; console.log(million); // 输出: 1000000 // 二进制 const binary = 0b1010_0001; console.log(binary); // 输出: 161 // 十六进制 const hex = 0xA0_B1_C2; console.log(hex); // 输出: 10531010