贝利信息

javascript Symbol是什么_如何创建和使用唯一标识符

日期:2025-12-23 00:00 / 作者:夜晨
Symbol 是 JavaScript 中唯一且不可变的原始类型,用于创建不冲突的对象属性名;支持匿名/带描述创建、私有属性隐藏、全局注册表共享及内置 Symbol 协议扩展。

Symbol 是 JavaScript 中一种原始数据类型,专门用来创建唯一、不可变的标识符,主要解决对象属性名冲突问题。 它不是字符串,也不等于任何其他值(包括另一个同名 Symbol),每次调用 Symbol() 都会生成一个全新的、独一无二的值。

Symbol 的基本创建方式

最常用的是直接调用 Symbol() 函数:

Symbol 作为对象属性名的特殊用途

Symbol 最核心的用途是定义“私有”或“内部”属性,避免被意外覆盖或枚举:

全局 Symbol 注册表:Symbol.for() 和 Symbol.keyFor()

当需要跨模块共享同一个 Symbol 时,可用全局注册表:

内置 Symbol 值与迭代协议支持

JavaScript 预定义了一批以 Symbol 开头的静态属性(如 Symbol.iterator),用于自定义对象行为: