【Symbol 是 JavaScript 中的一个基本数据类型】
Symbol 是 JavaScript 中的一个基本数据类型,主要用途有:
- 创建唯一的标识符
let s1 = Symbol();
let s2 = Symbol();
console.log(s1 === s2); // false,每个 Symbol 都是唯一的
- 用作对象的私有属性
const privateKey = Symbol('private');
const obj = {
[privateKey]: "这是私有数据",
name: "公开数据"
};
console.log(obj[privateKey]); // 只有知道 Symbol 的人才能访问
- 防止属性名冲突
const name1 = Symbol('name');
const name2 = Symbol('name');
const obj = {
[name1]: "张三",
[name2]: "李四"
};
- 作为系统内置的特殊标识
// 例如迭代器的 Symbol
const arr = [1, 2, 3];
console.log(arr[Symbol.iterator]); // 数组的迭代器方法
主要特点:
- 唯一性:每个 Symbol 都是独一无二的
- 不会出现在对象的常规属性遍历中
- 可以用作私有属性的模拟
- 常用于定义对象的特殊行为(如迭代器)

浙公网安备 33010602011771号