在 Es6 中,提供了一个Symbol.for()方法可以实现,它接受一个字符串作为参数 然后搜索有没有以该参数作为名称的Symbol值
如果有,就返回这个Symbol值,否则就新建一个以该字符串为名称的...,在整个全局作用域内都可以取到
Symbol 应用场景
应用场景 1-使用Symbol来作为对象属性名(key)
在 Es6 之前,通常定义或访问对象的属性都是使用字符串,如下代码所示
let web...Object.getOwnPropertyName()当中,该方法无法获取到
利用该特性,我们可以把一些不需要对外操作和访问的属性使用Symbol来定义
这样,我们在定义接口的数据对象时,可以决定对象的哪些属性...()方法,可以获取指定对象的所有Symbol属性名,该方法会返回一个数组
它的成员是当前对象的所有用作属性名的 Symbol 值
let person = {
[Symbol('name')]:...,而所指的是,它的类型没有强制性,是没有如java等面向对象语言的访问控制关键字private的,类上所有定义的属性和方法都是公开访问的,当然在TypeScript中新增了一些关键字,解决了此问题的
有时候