### Symbol
1. Symbol解决了对象属性名可能被覆盖的问题
2. Symbol:表示独一无二的值,Symbol由Symbol() 生成,是一个基本数据类型
3. typeof Symbol(): 'symbol'
4. Symbol()虽然看起来是函数,但不是一个对象,所以不能有属性和使用 new
5. Symbol值不能与其它数据类型进行运算,会报错
6. Symbol值可以转换为布尔值与字符串,不能转换为数字类型
7. Symbol值作为属性名,不会出现在 for in || for of || Object.keys || JSON.stringtry || Object.getOwnPropertyNames中
8. Object.getOwnPropertySymbols() 获取指定对象所有Symbol属性值,返回一个数组
9. Reflect.ownKeys() 可以获取所有对象的属性名key,包括Symbol属性名