,它返回的是Symbol类型,而不是什么string,object之类的
在 Es5 中原有的对象的属性名是字符串类型中拓展了一个Symbol类型,也就是说,现在对象的属性名有两种类型
字符串类型
Symbol...类型
注意
Symbol 函数前不能使用new关键字,否则就会报错,这是因为生成的Symbol是一个原始类型的值,它不是对象
因为不是对象,所以也不能添加属性,它是一种类似于字符串的数据类型,可以理解为是在字符串类型的一种额外的拓展...常量定义在a.js模块中,外面的模块是获取不到这个Symbol的,在外部无法引用这个值,也无法改写,也不可能在在创建一个一模一样的Symbol出来
因为Symbol是唯一的
在a.js模块中,这个PASSWORD...的Symbol类型只能在当前模块文件(a.js)中内部使用,所以使用它来定义的类属性是没有办法被模块外访问到的
这样就达到了一个私有化的效果
应用场景 4-使用Symbol来替代常量
在使用React中...,该属性的键名就是字符串s,而不是定义Symbol类型值
总结
本文主要介绍了Es6中Symbol的常见使用,Symbol是一种新的基础类型,它形式字符串的数据类型,是字符串类型的一种额外拓展
常用于作为对象属性的键名