ES6 Symbol

1.Symbol概述

ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是 JavaScript 语言的第七种数据类型,前六种是:undefined、null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)
注意: Symbol 值不能与其他类型的值进行运算,会报错。但是,Symbol 值可以显式转为字符串和布尔值,但是不能转为数值。

2. Symbol.prototype.descripion

3. Symbol可以作为标识符,即属性名

Symbol 值作为对象属性名时,不能用点运算符。

4. 消除魔术字符串(有点不太会)

概念:在代码之中多次出现、与代码形成强耦合的某一个具体的字符串或者数值。

5. 属性名的遍历

Symbol 作为属性名,遍历对象的时候,该属性不会出现在for…in、for…of循环中,也不会被Object.keys()、Object.getOwnPropertyNames()、JSON.stringify()返回。
Object.getOwnPropertySymbols()方法,可以获取指定对象的所有 Symbol 属性名。

你可能感兴趣的:(ES6 Symbol)