,它返回的是Symbol类型,而不是什么string,object之类的
在 Es5 中原有的对象的属性名是字符串类型中拓展了一个Symbol类型,也就是说,现在对象的属性名有两种类型
字符串类型
Symbol...在 Es6 中,提供了一个Symbol.for()方法可以实现,它接受一个字符串作为参数 然后搜索有没有以该参数作为名称的Symbol值
如果有,就返回这个Symbol值,否则就新建一个以该字符串为名称的...Symbol来定义
这样,我们在定义接口的数据对象时,可以决定对象的哪些属性,对内私有操作与对外公有操作变得可控,更加的方便
使用常规的方法,无法获取到以Symbol方式定义对象的属性,在 Es6 中,...如果想要获取全部的属性,可以使用一个新的 API,Reflect.ownKeys()方法可以返回所有类型的键名,包括常规键名和 Symbol 键名
let person = {
[Symbol('name...如果变量s不放在中括号中,该属性的键名就是字符串s,而不是定义Symbol类型值
总结
本文主要介绍了Es6中Symbol的常见使用,Symbol是一种新的基础类型,它形式字符串的数据类型,是字符串类型的一种额外拓展