1.概述
ES6
引入了一种新的原始数据类型Symbol
,表示独一无二的值。它是 JavaScript 语言的第七
种数据类型,前六种是: undefined 、 null 、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。作用:
Symbol
值通过Symbol 函数
生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。
2.Symbol函数参数的意义
Symbol 函数可以接受一个字符串作为参数,表示对 Symbol 实例的描述,主要是为了在控制台显示,或者转为字符串时,比较容易区分。
3. 创建Symbol
let ee = Symbol();
//以下两种方式创建的Symbol不一样,aa===bb 为false
let aa = Symbol("foo");
let bb = Symbol("foo");
//cc==dd为true
let cc =Symbol.for('秀秀');
let dd = Symbol.for('秀秀');
console.log(cc===dd);
Symbol不能与其他数据进行运算。
4.对象添加Symbol类型的属性
原先的game里面有up down属性,后续又要加入,可以用symbol定义。