对象的简洁语法
- 之前的对象语法:
let name = 'murphy'; let age = '18'; let json = { name: name, age: age, showName: function(){ console.log('this.name'); } } - ES6对象的简洁语法:
let name = 'murphy'; let age = '18'; let json = { name, age, showName(){ //需要注意这个地方不要用箭头函数 console.log('this.name'); } }
ES6对象的新增特性
Object.is('a','a');用于比较对象是否相等,与==,===相比,解决了NaN!=NaN;+0 == -0等问题;Object.assign(target,source1,source2,..)合并对象,后面的对象会覆盖前面的对象,用途举例:- 用于AJAX中用户自定义options 与defaults 合并;
- 用复制对象:
obj2 = Object.assign('',obj1);
- 与数组类似,对象中也添加了
Object.keys(), Object.entries(),而且对象还有Object.values:常用于for...of循环遍历; - 扩展运算符
...obj也可以用于对象:- 剩余参数
let {x,y,...z} = {x:1,y:2,a:3,b:4,c:5}; - 对象复制
let json2 = {...json1};
- 剩余参数