不太常用的原语bigint和symbol的介绍

JavaScript是一门动态类型语言,它支持各种数据类型,如数值、字符串、布尔值、数组等等。除了这些基本数据类型之外,JavaScript还提供了不太常用的原语类型,包括BigInt和Symbol。这篇技术博客将介绍BigInt和Symbol的具体用法和优势。

BigInt

BigInt表示任意精度的整数,可以处理超过Number类型所能表示的最大整数值的数值。BigInt从ES2020版本开始引入,可以使用数字字面量或者BigInt()构造函数创建。

下面是BigInt的创建和运算示例:

let bigNum = 123456789012345678901234567890n;
console.log(bigNum); // 输出:123456789012345678901234567890n

let a = 198273479238471289432n;
let b = 342139048901234n;
console.log(a + b); // 输出:198273479238471631666n

可以看到,BigInt类型的变量必须以“n”字符结尾,用于表示BigInt类型。在运算中,BigInt可以和其他BigInt类型的值进行加、减、乘、除、取模等操作,但不能使用“+”操作符连接字符串类型。

Symbol

Symbol是一种新的数据类型,它的值是唯一的,并且是不可变的。Symbol从ES2015版本开始引入,可以用Symbol()构造函数或者Symbol.for()静态方法创建。

Symbol主要用于标识对象属性名的唯一性,如下面的例子所示:

const id = Symbol('id');
let user = {
  name: 'Tom',
  [id]: '001'
};

console.log(user[name]); // 输出:Tom
console.log(user[id]); // 输出:001

可以看到,通过Symbol类型的属性名,我们可以轻松地标识出对象中不同属性的唯一性,在实践中经常被用于库和框架中,用于避免属性名冲突的问题。

同时,Symbol类型还具有内置的一些常量,如Symbol.iterator, Symbol.toPrimitive等等,用于定义迭代器和类型转换等语言级别的行为。

总之,BigInt和Symbol这两种原语类型不太常用,但在实践中提供了极大的帮助。BigInt可以处理超大整数,而Symbol提供了一种可靠的解决方案用于避免属性名冲突的问题。在使用这两种数据类型的时候,需要根据实际需求和语法规范来决定是否使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值