📅  最后修改于: 2023-12-03 15:01:38.875000             🧑  作者: Mango
在 ECMAScript 6 中,引入了Symbol()方法作为一种新的基本数据类型。Symbol对象表示唯一的标识符,用于对象属性的标识符。
Symbol([description])
description
参数为可选参数,表示对Symbol对象的描述,主要用于调试和错误定位。
返回一个新的唯一的Symbol值,表示一个被标识符命名的值。
const name = Symbol("name");
const obj = {
[name]: "John"
};
console.log(obj[name]); // "John"
使用Symbol()方法创建一个唯一标识符,并将其作为对象属性名,可以避免属性名重复的问题。
const symbol1 = Symbol.for("name");
const symbol2 = Symbol.for("name");
console.log(symbol1 === symbol2); // true
const name = Symbol.for("name");
console.log(Symbol.keyFor(name)); // "name"
使用Symbol.for()方法创建一个已经存在的符号时,将返回先前创建的符号。Symbol.keyFor()方法返回使用Symbol.for()方法创建的符号的键名。
JavaScript中的Symbol()方法是一种新的基本数据类型,用于表示唯一的标识符。它可以用于对象属性名,保证属性名的唯一性。Symbol.for()方法可以全局共享Symbol值,Symbol.hasInstance和Symbol.toPrimitive属性可以自定义对象的行为。这些特性增强了JavaScript的灵活性和可扩展性。