ES6 内容总结
1.Symbol基本使用
——————————————————
插入一个小知识点:七种数据类型
记忆方式:USONB
U:undefined
S:string 、Symbol
O:object
N:null 、 number
B:boolear
——————————————————
ES6引入的第七种数据类型-Symbol,表示独一无二的值。类似于字符串的数据类型
Symbol 特点
- Symbol 的值是唯一的,用来解决命名冲突的问题
- Symbol 的值不能与其他数据进行运算
- Symbol 定义的对象属性不能使用 for…in 循环遍历,但是可以使用Reflect.ownKeys 来获取对象的所有键名
//第一种创建方式
let s = Symbol();
let s2 = Symbol('尚硅谷');//尚硅谷算是一种注释
let s3 = Symbol('尚硅谷');
console.log(s2 === s3);//false
//第二种创建方式 Symbol.for
let s4 = Symbol.for('尚硅谷');
let s5 = Symbol.for('尚硅谷');
console.log(s4, typeof s4);//Symbol(尚硅谷) "symbol"
console.log(s4 === s5);//true
2.Symbol使用场景
-
向对象添加属性和方法
//第一种方式 let game = { up: function () { console.log(aa); }, down: function () { console.log(bb); } } let method = { up: Symbol(), down: Symbol() } game[method.up] = function () { console.log(up); } game[method.down] = function () { console.log(down); } console.log(game); //第二种方式 let youxi = { name: 'lagn', [Symbol('say')]: function () { console.log('say'); }, [Symbol('zibaos')]: function () { console.log('zibao'); } }