跳到主要内容

数据类型

ECMAScript 变量可以包含两种不同类型的数据:原始值和引用值。原始值(primitive value)就是最简单的数据,引用值(reference value)则是由多个值构成的对象。

原始值 又称基本数据类型stringnumberbooleanundefinednullsymbolbigint
引用值 又称引用数据类型ObjectArrayRegExp``、DateMathError

新增数据类型

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.iteratorSymbol.asyncIteratorSymbol.toStringTagSymbol.hasInstance)

BigInt

可以表示任意精度的整数,这使得它非常适合需要处理超出 Number 类型(即53位精度整数限制)的场景。

可以使用 BigInt 构造函数或通过在整数末尾添加 n 来创建 BigInt

// 进行计算
const sum = BigInt(123456789012345678901234567890) + BigInt(9999999) // 123456789012345677877729597055n
// 转为字符串
sum.toString() // '123456789012345677877729597055'

使用场景

  • 处理超大整数计算
  • 精确数学计算
  • 加密算法