JavaScript 数据类型
JavaScript 数据类型
在 JavaScript 中,数据类型分为两类:原始类型(Primitive Types) 和 引用类型(Reference Types)。以下是详细的分类和说明:
1. 原始类型(Primitive Types)
原始类型是基本的数据类型,它们是不可变的,即一旦创建后就不能修改其值。JavaScript 中有 7 种原始类型:
-
boolean
:- 表示逻辑值,只有两个可能的值:
true
和false
。
- 表示逻辑值,只有两个可能的值:
-
number
:- 表示数字,包括整数和浮点数。JavaScript 中没有单独的整数类型,所有数字都是
number
类型。 - 示例:
42
,3.14
,Infinity
,NaN
(Not-a-Number)。
- 表示数字,包括整数和浮点数。JavaScript 中没有单独的整数类型,所有数字都是
-
bigint
:- 用于表示任意精度的整数。
bigint
类型可以表示比number
类型更大的整数。 - 创建方式:在数字后面加
n
,例如1234567890123456789012345678901234567890n
。
- 用于表示任意精度的整数。
-
string
:- 表示文本字符串,用单引号、双引号或反引号括起来。
- 示例:
'Hello, world!'
,"Hello, world!"
,`Hello, ${name}!`
。
-
symbol
:- 表示唯一的标识符,通常用于对象属性的键。每个
Symbol
都是唯一的,即使它们的描述相同。 - 创建方式:
Symbol(description)
,其中description
是可选的描述字符串。 - 示例:
Symbol('id')
。
- 表示唯一的标识符,通常用于对象属性的键。每个
-
null
:- 表示空值或不存在的对象。
null
是一个特殊的值,表示“没有任何对象”。 - 注意:
typeof null
返回'object'
,这是一个历史遗留问题。
- 表示空值或不存在的对象。
-
undefined
:- 表示未定义的值。当一个变量被声明但未赋值时,它的默认值是
undefined
。 - 示例:
let x; console.log(x); // undefined
。
- 表示未定义的值。当一个变量被声明但未赋值时,它的默认值是
2. 引用类型(Reference Types)
引用类型是指那些可以包含多个值或复杂结构的数据类型。它们是可变的,可以通过引用进行修改。JavaScript 中最常见的引用类型是 对象(Object),其中包括以下几种子类型:
-
object
:- 一个无序的键值对集合,键通常是字符串或
Symbol
,值可以是任何数据类型。 - 示例:
const person = { name: 'Alice', age: 25, isStudent: true };
- 一个无序的键值对集合,键通常是字符串或
-
array
:- 一种特殊的对象,用于存储有序的元素列表。数组的索引是基于整数的。
- 示例:
const numbers = [1, 2, 3, 4, 5];
-
function
:- 一种特殊的对象,表示一段可以执行的代码。函数可以有参数和返回值。
- 示例:
function add(a, b) { return a + b; }
-
date
:- 用于表示日期和时间的对象。
Date
对象提供了许多方法来操作日期和时间。 - 示例:
const now = new Date(); console.log(now);
- 用于表示日期和时间的对象。
-
map
和set
:Map
是一个键值对集合,键可以是任何类型(不仅仅是字符串或Symbol
),并且键是唯一的。Set
是一个唯一的值集合,不允许重复的值。- 示例:
const map = new Map([ ['key1', 'value1'], ['key2', 'value2'] ]); const set = new Set([1, 2, 3, 4, 5]);
-
**
weakmap