章
目
录
本文重点讲解ES6中JS新增的两种原始数据类型。我们来一起看下吧!
新增原始数据类型
在ES6
,JavaScript
新增了两种
原始数据类型,分别是BigInt
和Symbol
数据类型。接下来我会给大家演示这两种数据类型有哪些特点和使用方法。
BigInt
JavaScript
中的BigInt
是一种用来表示任意精度整数的数据类型,它为JavaScript
提供了表示大整数
的能力,使得在处理需要高精度整数的场景下更加方便和可靠。
为什么要创建这样一个数据类型呢,我给大家举个例子就知道了,我们来到浏览器上输入2 ** 53
代表2^53
并打印其结果,并尝试在其后面进行以下操作:
从运算结果中我们看到两次运算的结果都是一样的,我们不是在2^53
基础上再加了1
吗,不变的原因是对于number
类型处理器的算力天花板就是2^53
,所以在ES6
之后新增了一种数据类型BigInt
,请看下面示例:
当我们在此基础上分别在number
类型的整数后面加一个n
进行运算后就可以正常进行运算了,并且这个BigInt
类型是没有上限的,在日常中我们计算Number
类型就已经足够了,但是对于企业来说很可能会涉及很大数字的计算,这时候BigInt
类型就完美的符合要求了。
Symbol
JavaScript
中的Symbol
是一种基本数据类型,它在ES6
(ECMAScript 2015)中被引入。Symbol
类型的值是唯一
且不可变
的,通常用于对象属性的键值,以确保属性名的唯一性。
在JavaScript
中“=
”号代表赋值语句,“==
”代表判断两边数据的值
是否相等,“===”代表判断两边数据的值
和数据类型
是否相同,而这时候我们需要提到“===”判断的底层逻辑,简单来说其实是判断这两个数据的地址是否相等。那么Symbol
类型有什么特点和作用呢,请看下面示例:
let str = 'Hello'
let str2 = 'Hello'
console.log(str == str2); //True
没错,最终结果会是True
,在框架开发中,当我们的代码和别人的代码结合时如果遇到变量名冲突就可以使用Symbol来定义数据类型
let s = Symbol('hello') //Symbol
let s2 = Symbol('hello')
console.log(s === s2); // False
我们定义了两个Symbol
对象,在创建这两个变量时会单独为其开辟独立的空间,所以这两个数据的地址是不同的,最后输出也就是False
。
总结
在这篇文章中我们引入并分析了ES6新增的两种原始数据类型,以上就是ES6中JS新增的两种原始数据类型的全部内容,希望对你有帮助!