数据类型
ECMAScript 变量可以包含两种不同类型的数据:原始值和引用值。原始值(primitive value)就是最简单的数据,引用值(reference value)则是由多个值构成的对象。
原始值 又称基本数据类型string
、number
、boolean
、undefined
、null
、symbol
、bigint
引用值 又称引用数据类型Object
、Array
、RegExp``、Date
、Math
、Error
等
新增数据类型
Symbol
创建唯一标识符的方法,主要用于防止对象属性的命名冲突和定义内部行为。
const key1 = Symbol('key')
const key2 = Symbol('key')
console.log(key1 === key2) // false
const obj = {
[key1]: 'value1',
[key2]: 'value2'
}
console.log(obj[key1] === obj[key2]) // false
使用场景
- 定义常量
- 定义对象私有属性
- 使用内置的 Symbol(
Symbol.iterator
、Symbol.asyncIterator
、Symbol.toStringTag
、Symbol.hasInstance
)
BigInt
可以表示任意精度的整数,这使得它非常适合需要处理超出 Number 类型(即53位精度整数限制)的场景。
可以使用 BigInt
构造函数或通过在整数末尾添加 n
来创建 BigInt
。
// 进行计算
const sum = BigInt(123456789012345678901234567890) + BigInt(9999999) // 123456789012345677877729597055n
// 转为字符串
sum.toString() // '123456789012345677877729597055'
使用场景
- 处理超大整数计算
- 精确数学计算
- 加密算法