Samgao0312 / Blog

MIT License
1 stars 1 forks source link

【再学前端】ES6 —— Symbol #133

Open Samgao0312 opened 2 years ago

Samgao0312 commented 2 years ago

背景: 解决 ES5 给对象添加属性可能冲突的风险。使用 Symbol()生成对象属性的 key 就绝对不会有冲突的可能性了。

特性:

1. Symbol.prototype.description

此方法用于读取 Symbol 值的描述,于 ES2019提供!

2. 使用场景

  1. 作为对象属性 通过 [] 或 defineProperty()使用 Symbol 值。

  2. 用作常量

  3. 注意: Symbol 值作为属性名使用,该属性是公开属性,不是私有属性。

3. 属性名遍历

4. 内置的 Symbol 值

5. 实例:模块的 Singleton 模式