数字分隔符的相等性判断
JavaScript 中使用下划线分隔的数字与普通数字是否相等
问题
1_000_000 === 1000000 这个等式是否成立?
解答
答案是 true。
1_000_000 使用了数字分隔符(Numeric Separators),允许在数字中使用下划线来提高可读性。这个特性不会改变数字的实际值。
let a = 1000000000000;
let b = 1_000_000_000_000;
console.log(a === b); // true
数字分隔符支持多种数字格式:
// 十进制
let dec = 1_000_000.220_720;
// 二进制
let bin = 0b1010_0001_1000_0101;
// 八进制
let oct = 0o1234_5670;
// 十六进制
let hex = 0xA0_B0_C0;
// BigInt
let bint = 9_223_372_036_854_775_807n;
关键点
- 数字分隔符
_仅用于提高可读性,不影响数值本身 - 带分隔符和不带分隔符的数字完全相等
- 支持整数、小数、二进制、八进制、十六进制和 BigInt
目录