JavaScript符号

易于理解的教程,了解JavaScript符号

Symbol是JavaScript的原始数据类型,细绳数字,布尔值,null和未定义。

它是在ECMAScript 2015,所以就在几年前。

这是一种非常特殊的数据类型。创建符号后,其值将保持私有状态并仅供内部使用。

创建后剩下的所有内容就是符号引用。

您可以通过调用Symbol()全局工厂功能:

const mySymbol = Symbol()

每次调用Symbol()我们将获得一个新的唯一符号,并保证与所有其他符号都不同:

Symbol() === Symbol() //false

您可以将参数传递给Symbol(),并且用作符号描述,仅用于调试目的:

console.log(Symbol()) //Symbol()
console.log(Symbol('Some Test')) //Symbol(Some Test)

符号通常用于标识对象属性。

通常避免属性之间的名称冲突,因为没有符号等于另一个。

或者添加有意或无意识的用户无法覆盖的属性。

例子:

const NAME = Symbol()
const person = {
  [NAME]: 'Flavio'
}

person[NAME] //‘Flavio’ const RUN = Symbol() person[RUN] = () => ‘Person is running’ console.log(personRUN) //‘Person is running’

符号不会被枚举,这意味着它们不会被包含在for..of或者for..in环形碰到一个物体。

符号不属于Object.keys()或者Object.getOwnPropertyNames()结果。

您可以使用来访问分配给对象的所有符号Object.getOwnPropertySymbols()方法。

免费下载我的JavaScript初学者手册


更多js教程: