ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。
Object.is方法。它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。
Symbol 的用法
Symbol 是一个唯一变量的声明方式
声明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| { let a1 = Symbol(); let a2 = Symbol(); console.log(a1); console.log(a2); console.log(a1 === a2); let a3 = Symbol.for('a3'); let a4 = Symbol.for('a3'); console.log(a3 === a4); }
|
使用场景
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| { let a1 = Symbol.for('abc'); let obj = { [a1]: '1', 'abc': 2, 'c': 3 }; console.log(obj); for (let [key, value] of Object.entries(obj)) { console.log(key, value); } Object.getOwnPropertySymbols(obj).forEach(function (item) { console.log(item); console.log(obj[item]); }) Reflect.ownKeys(obj).forEach(function (item) { console.log('item', item); console.log('obj[item]', obj[item]); }); }
|