Symbol
赵钊 2023/7/12
# 简介
JavaScript基本数据类型之一,引入了一种新的原始数据类型,用于创建独一无二的标识符。
# 特点
- 独一无二性:每个通过Symbol()函数创建的Symbol值都是唯一的,不会与其他任何值相等。
- 用作对象属性:Symbol可以作为对象的属性键(key)使用,这样可以确保属性名不会与其他属性名冲突。
# 示例
// 创建一个独一无二的Symbol值
const sym = Symbol();
// 使用Symbol作为对象属性键
const obj = {};
const symbolKey = Symbol("key");
obj[symbolKey] = "value";
console.log(obj[symbolKey]); // 输出: value
console.log(obj); // 输出: {}
console.log(Object.keys(obj)); // 输出: []
// 遍历对象属性,包括Symbol属性
for (let key in obj) {
console.log(key); // 不会输出任何内容
}
// 获取全局Symbol注册表中的Symbol值
const existingSymbol = Symbol.for("existing");
console.log(Symbol.keyFor(existingSymbol)); // 输出: existing