摘要:可以使用来判断类型语法与该相关连的一个名字,可以通过这个名字获取实例。例子说明和实例化的实例不同,使用实例化的实例在全局保存,相同的两个返回的实例是一样的。
0x000 概述
Symbol是es6新的基本数据类型,所以es之后的数据类型如下:
基本数据类型:
Boolean
Null
Undefined
Number
String
Symbol
引用类型
Object
0x001 Symbol()
语法
Symbol([description])
description:描述,可选字符串
例子
Symbol() Symbol(1) Symbol("string")
说明:
使用Symbol()初始化的变量是完全不同的两个变量,description只是一个描述而已,没有任何意义。
Symbol(1)===Symbol(1) // false
可以使用typeof来判断Symbol类型
typeof Symbol("1") // "symbol"0x002 Symbol.for()
语法:
Symbol.for(key);
key:与该Symbol相关连的一个名字,可以通过这个名字获取Symbol实例。
例子:
Symbol.for(1) Symbol.for("string")
说明:
和Symbol()实例化的Symbol实例不同,使用Symbol.for()实例化的实例在全局保存,相同的两个key返回的Symbol实例是一样的。也就是说,使用Symbol.for(key)实例化一个Symbol数据类型的时候,如果全局不存在这个key对应的symbol,则全局创建一个key对应的symbol,如果全局存在,则直接返回这个key对应的Symbol。
Symbol.for("string")===Symbol.for("string") // true0x003 Symbol.keyFor(key)
语法
Symbol.keyFor(sym);
参数:
sym:Symbal实例
返回值:
string:返回这个Symbol实例的key
例子
let sym=Symbol.for("string") console.log(Symbol.keyFor(sym)) // "string"
说明
Symbol(description)的description和Symbol.for(key)的key是不一样的,description只是一个描述,除了调试没有任何实际用途,无法通过description获取这个Symbol实例:
let sym= Symbol("sss") Symbol.for("sss")===sym // false Symbol.keyFor(sym) // undefined
所以,Symbol.keyFor也只能获取Symbol.for实例化的Symbol的key。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/108718.html
摘要:在运行时环境中,通过调用函数创建值,该函数动态生成匿名的唯一值。创建和使用值的唯一创建方法,是通过调用函数来返回,不支持操作。共享体系提供了一个全局注册表,用于在大文件或多文件代码中追踪值。 Symbol由来 Symbol是ES6引入的新类型,所以在ES5的基础上,JS就有了字符串(string)、数字型(number)、布尔(bool)、null、undefined和Symbol共六...
摘要:的码点被称为基本字符区域。关于的介绍,我准备用文档阮一峰来做一些介绍,具体的可以参考文档引入的原因的对象属性名都是字符串,这容易造成属性名的冲突。其他的一些属性可以去看文档阮一峰注意函数前不能使用命令,否则会报错。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完...
摘要:的码点被称为基本字符区域。关于的介绍,我准备用文档阮一峰来做一些介绍,具体的可以参考文档引入的原因的对象属性名都是字符串,这容易造成属性名的冲突。其他的一些属性可以去看文档阮一峰注意函数前不能使用命令,否则会报错。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完...
摘要:的码点被称为基本字符区域。关于的介绍,我准备用文档阮一峰来做一些介绍,具体的可以参考文档引入的原因的对象属性名都是字符串,这容易造成属性名的冲突。其他的一些属性可以去看文档阮一峰注意函数前不能使用命令,否则会报错。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完...
阅读 2935·2021-11-25 09:43
阅读 2205·2021-09-07 10:28
阅读 3211·2021-08-11 11:14
阅读 2732·2019-08-30 13:49
阅读 3484·2019-08-29 18:41
阅读 1130·2019-08-29 11:26
阅读 1935·2019-08-26 13:23
阅读 3312·2019-08-26 10:43