2. JavaScript 数据类型
JavaScript 共有8种数据类型,可以分为两类:基本数据类型和复杂数据类型。
1. 基本数据类型(Primitive Types)
这些数据类型是不可变的,意味着一旦创建了它们的值,就无法更改。
- Number: 用于表示整数和浮点数。例如:
42
,3.14
,-7
- BigInt: 用于表示任意精度的大整数。例如:
1234567890123456789012345678901234567890n
- String: 用于表示文本数据(字符串)。例如:
"Hello, World!"
,'JavaScript'
- Boolean: 只有两个值:
true
和false
。用于逻辑判断。 - Undefined: 当一个变量被声明但未赋值时,其值为
undefined
。 - Null: 表示一个空值,通常用于表示一个变量没有对象的值。与
undefined
不同,null
是一个被有意赋值为空的对象。 - Symbol: ES6 引入的一种唯一且不可变的数据类型,通常用于对象属性的唯一标识符。例如:
let sym = Symbol("description");
2. 复杂数据类型(Complex Type)
这些数据类型是可变的,并且是对象的类型。
- Object: 是一种复杂的数据类型,可以存储键值对集合和更复杂的实体。对象包括常规对象(如
{}
)、数组、函数等。- Array: 是一种特殊类型的对象,用于存储有序集合。例如:
[1, 2, 3]
- Function: JavaScript 中函数本质上是对象,可以通过关键字
function
或箭头函数语法创建。例如:function foo() {}
,() => {}
- Date: 用于处理日期和时间。
- RegExp: 用于匹配字符串的正则表达式。
- Array: 是一种特殊类型的对象,用于存储有序集合。例如:
分类方法
-
按是否是基本类型分类
- 基本数据类型:
Number
,BigInt
,String
,Boolean
,Undefined
,Null
,Symbol
- 复杂数据类型:
Object
(包括Array
,Function
,Date
,RegExp
等)
- 基本数据类型:
-
按是否是可变类型分类
- 不可变类型: 基本数据类型(
Undefined
和Null
的值是不可变的,尽管它们不是常规的变量类型) - 可变类型: 复杂数据类型(
Object
)
- 不可变类型: 基本数据类型(
-
按用途分类
- 数字类型:
Number
,BigInt
- 文本类型:
String
- 布尔类型:
Boolean
- 引用类型:
Object
- 特殊类型:
Undefined
,Null
,Symbol
- 数字类型:
时间线
- ES1(1997年):
Number
,String
,Boolean
,Undefined
,Null
,Object
- ES6(2015年):
Symbol
- ES11(2020年):
BigInt