Skip to content

JS基本数据类型

stringnumberbooleansymbolbigintundefinednullobject
字符串数字布尔符号大整数undefinednull对象

symbolbigint 是新的,其他的6种类型是ES6之前的。

什么时候用 undefined?什么时候用 null

如果非对象为空用 undefined,如果是对象为空用 null

为什么不用 number 而用 bigint

number双精度浮点数,是64位的,位数不够的时候可以用 bigint(bigint任意精度数字类型,只接受整数)。

简单数据类型(值类型)

类型描述
number用于表示数值,包括整数和浮点数。JavaScript中所有的数字都是以浮点数的形式存储的,遵循IEEE 754标准。
string用于表示文本,可以是单引号或双引号包裹的一系列字符。
boolean用于表示逻辑值,只有两个可能的值:truefalse
null用于表示一个空值或不存在的对象引用。虽然null被视为一个对象,但在类型检查中它被认为是基本类型。
undefined用于表示尚未赋值的变量,或函数返回没有明确返回值时的结果。
symbolES6(ECMAScript 2015)引入的新类型,用于创建唯一的符号标识符,主要在对象的键中使用。
bigintES10(ECMAScript 2019)引入的新类型,用于表示大于Number.MAX_SAFE_INTEGER(即2^53 - 1)的整数。

复杂数据类型(引用类型)

类型描述
Object最通用的复杂数据类型,它可以包含键值对集合,以及方法和属性。
Array本质上是一种特殊的对象,用于存储有序的元素列表。
Function在JavaScript中,函数也是对象,可以作为数据进行传递。
Date表示日期和时间的对象。
MapMap对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值)都可以作为键或值。
SetSet对象允许你存储任何类型(无论是原始值还是对象引用)的唯一值
WeakMapWeakMap是一种键值对的集合,其中的键必须是对象或非全局注册的符号,且值可以是任意的 JavaScript 类型,并且不会创建对它的键的强引用。
WeakSetWeakSet是可被垃圾回收的值的集合,包括对象和非全局注册的符号。WeakSet 中的值只能出现一次。它在 WeakSet 的集合中是唯一的。