·  Symbol是通过symbol函数生成的。

      let s = Symbol();

      console.log(s);//Symbol()

      typeof(s);//”symbol”

· Symbol()函数通过接收一个字符串作为参数,来对产生的Symbol值进行描述,方便区分不同的Symbol值。

   Es6新增数据类型 Symbol

给Symbol函数加了参数之后,控制台输出的时候可以区分到底是哪一个值;Symbol函数的参数只是对当前Symbol值的描述,因此相同参数的Symbol函数返回值是不相等的;

Symbol函数的参数只能是字符串;

  • Symbol值不能运算;

Symbol值可以转化为字符串和布尔值,但是不能转化为数值;

      Es6新增数据类型 Symbol

  • Symbol作为属性名

Es6新增数据类型 Symbol

  • Symbol值作为属性值的遍历

Object.getOwnPropertySymbols()方法获取一个对象上的Symbol属性名;

Reflect.ownKeys()返回所有类型的属性名,包括常规属性名和 Symbol属性名;

Es6新增数据类型 Symbol

相关文章: