ES6(四)Symbol
本文最后更新于:8 个月前
介绍基本类型 Symbol 的用途,使用示例,Symbol.for方法,和ES6内置的Symbol
ES6(四)Symbol
1. 简介
ES6引入了Symbol基本类型,它的特点是每一个Symbol都是独一无二的,这样可以避免重复key的出现。使用方式如下:
1 |
|
以 Symbol 值作为键名,不会被常规方法遍历得到。我们可以利用这个特性,为对象定义一些非私有的、但又希望只用于内部的方法。
2. 使用示例
作为属性值,写入数据
1 |
|
注意,Symbol 值作为对象属性名时,不能用点运算符
1 |
|
3. Symbol.for 和 Symbol.keyFor
Symbol.for()
方法支持使用同一个 Symbol 值,它接受一个字符串作为参数,然后搜索有没有以该参数作为名称的 Symbol 值。如果有,就返回这个 Symbol 值,否则就新建一个以该字符串为名称的 Symbol 值,并将其注册到全局。
1 |
|
Symbol.keyFor()
方法返回一个已登记的 Symbol 类型值的key
。
4. 内置的Symbol
除了定义自己使用的 Symbol 值以外,ES6 还提供了 11 个内置的 Symbol 值,指向语言内部使用的方法。如Symbol.iterator
(指向对象的默认遍历器方法)、Symbol.toStringTag
(可以用来定制[object Object]
或[object Array]
中object
后面的那个字符)
ES6(四)Symbol
http://timegogo.top/2023/03/29/JavaScript/ES6(四)Symbol/