JavaScript 数据类型
JavaScript 数据类型定义了值的种类以及可以对这些值执行的操作。理解 JavaScript 的数据类型对于编写有效的代码至关重要。JavaScript 中的数据类型可以分为两大类:原始类型(Primitive Types)和引用类型(Reference Types)。
原始数据类型(Primitive Types)
原始数据类型是最基本的数据类型,它们是不可变的,直接存储在栈内存中。JavaScript 有 7 种原始数据类型:
1. 数字类型(Number)
数字类型用于表示整数和浮点数。
2. 大整数类型(BigInt)
BigInt 是一种数字类型,可以表示任意大的整数。
3. 字符串类型(String)
字符串类型用于表示文本数据,用单引号、双引号或反引号包围。
4. 布尔类型(Boolean)
布尔类型只有两个值:true 和 false。
5. 未定义类型(Undefined)
Undefined 类型只有一个值:undefined。当变量被声明但未赋值时,默认值为 undefined。
6. 空值类型(Null)
Null 类型也只有一个值:null。它表示"无值"或"空值"。
7. 符号类型(Symbol)
Symbol 是一种唯一的、不可变的数据类型,通常用作对象属性的键。
引用数据类型(Reference Types)
引用类型存储在堆内存中,变量存储的是指向实际数据的引用(地址)。JavaScript 中的引用类型主要是对象(Object)。
对象类型(Object)
对象是键值对的集合,可以包含多种数据类型和函数。
数组类型(Array)
数组是一种特殊的对象,用于存储有序的数据集合。
函数类型(Function)
函数也是对象,在 JavaScript 中,函数是一等公民。
日期类型(Date)
Date 对象用于处理日期和时间。
类型检测
JavaScript 提供了多种检测数据类型的方法:
typeof 操作符
Array.isArray() 方法
instanceof 操作符
类型转换
JavaScript 在某些情况下会自动进行类型转换:
隐式转换
显式转换
数据类型的特点
原始类型的不可变性
引用类型的可变性
值传递 vs 引用传递
总结
JavaScript 的数据类型包括:
-
原始类型(7种):
- Number(数字)
- BigInt(大整数)
- String(字符串)
- Boolean(布尔值)
- Undefined(未定义)
- Null(空值)
- Symbol(符号)
-
引用类型(主要是 Object):
- Object(对象)
- Array(数组)
- Function(函数)
- Date(日期)
- RegExp(正则表达式)等
理解这些数据类型及其特点对于编写高质量的 JavaScript 代码非常重要。在下一章节中,我们将学习 JavaScript 的基本结构。