Symbol
创建独一无二的标识符。 ES6引入了Symbol,它是一种基本的数据类型,用来创建独一无二的标识符。 Symbol是一种基本的数据类型,用来创建独一无二的标识符。它是一种基本的数据类型,用来创建独一无二的标识符。
创建Symbol
Symbol函数可以用来创建独一无二的标识符。
javascript
const sym1 = Symbol('foo');
const sym2 = Symbol('bar');
console.log(sym1); // Symbol(foo)
console.log(sym2); // Symbol(bar)Symbol函数可以接受一个可选的字符串参数,作为该Symbol的描述。
javascript
const sym1 = Symbol('foo');
const sym2 = Symbol('bar');
console.log(sym1.description); // "foo"
console.log(sym2.description); // "bar"Symbol属性
Symbol实例具有以下属性:
description:一个可选的字符串,用来描述该Symbol。toString():返回该Symbol的字符串表示形式。
Symbol.for()
Symbol.for()方法可以用来获取一个全局Symbol,如果该Symbol已经存在,则返回该Symbol,否则创建一个新的Symbol。
javascript
const sym1 = Symbol.for('foo');
const sym2 = Symbol.for('foo');
console.log(sym1 === sym2); // trueSymbol.keyFor()
Symbol.keyFor()方法可以用来获取一个Symbol的描述。
javascript
const sym1 = Symbol.for('foo');
const sym2 = Symbol.for('bar');
console.log(Symbol.keyFor(sym1)); // "foo"
console.log(Symbol.keyFor(sym2)); // "bar"如果Symbol没有描述,则返回undefined。
