您现在的位置是:网站首页 > Numeric separators in literals文章详情

Numeric separators in literals

陈川 JavaScript 11512人已围观

在编程语言中,数字字面量(numeric literals)是直接在源代码中书写的数值。随着应用程序变得越来越复杂,处理大数值成为常态,这使得数字的可读性成为一个重要的考虑因素。为了提高代码的可读性和维护性,一些现代编程语言引入了数字分隔符(numeric separators),允许开发者在数字字面量中插入特定字符来分隔千位。

JavaScript

JavaScript,作为Web前端开发的主要语言之一,在ES2020(ECMAScript 2020)标准中引入了对数字分隔符的支持。这让开发者可以在整数和浮点数字面量中使用下划线_作为千位分隔符,而不影响数字的实际值。

示例

// 整数字面量
let population = 7_894_561; // 代表7,894,561
console.log(population); // 输出7894561

// 浮点数字面量
let price = 1_234.56; // 代表1,234.56
console.log(price); // 输出1234.56

// 大数字面量
let bigNumber = 123_456_789_n; // 使用BigInt类型
console.log(bigNumber); // 输出123456789n

注意,虽然在整数和浮点数中都可以使用下划线作为分隔符,但BigInt类型的数字必须以n结尾来标识其类型。此外,下划线不能出现在数字的开头或末尾,也不能连续使用。

TypeScript

TypeScript 是基于JavaScript的一种超集,它也支持在数字字面量中使用下划线作为千位分隔符。由于TypeScript兼容JavaScript的特性,因此上述JavaScript中的例子同样适用于TypeScript。

示例

// 在TypeScript中定义整数变量
let age: number = 25_000;

// 定义带有小数部分的变量
let piApproximation: number = 3_1415_9265;

// 使用BigInt类型
let largeNumber: bigint = 123_456_789_n;

TypeScript还提供了静态类型检查,这意味着可以在编译阶段发现类型错误,包括对BigInt类型的不当使用。

结论

引入数字分隔符增强了代码的可读性,特别是在处理大型项目或需要频繁修改数值的情况下。无论是对于初学者还是经验丰富的开发者,这一特性都是一个欢迎的改进。然而,值得注意的是,虽然这种语法糖提高了代码的清晰度,但它并不改变数值的实际值。因此,在进行数学运算时,数字分隔符不会产生任何影响,它们仅仅是为了增强可读性而存在。

我的名片

网名:川

职业:前端开发工程师

现居:四川省-成都市

邮箱:chuan@chenchuan.com

站点信息

  • 建站时间:2017-10-06
  • 网站程序:Koa+Vue
  • 本站运行
  • 文章数量
  • 总访问量
  • 微信公众号:扫描二维码,关注我
微信公众号
每次关注
都是向财富自由迈进的一步