ES6拓展的功能

对象初始化简写 ES5我们对于对象都是以键值对的形式书写,是有可能出现键值对重名的。例如: function people(name, age) { return { name: name, age: age }; } 键值对重名,ES6可以简写如下: function people(name, age) { return { name, age }; } ES6 同样改进了为对象字面量方法赋值的语法。ES5为对象添加方法: const people = { name: 'lux', getName: function() { console.log(this.name) } } ES6通过省略冒号与 function 关键字,将这个语法变得更简洁 const people = { name: 'lux', getName () { console.log(this.name) } } ES6 对象提供了 Object.assign()这个方法来实现浅复制。 Object.assign() 可以把任意多个源对象自身可枚举的属性拷贝给目标对象,然后返回目标对象。第一参数即为目标对象。在实际项目中,我们为了不改变源对象。一般会把目标对象传为{} const objA = { name: 'cc', age: 18 } const objB = { address: 'beijing' } const objC = {} // 这个为目标对象 const obj = Object.assign(objC, objA, objB) // 我们将 objA objB objC obj 分别输出看看 console.log(objA) // { name: 'cc', age: 18 } console.log(objB) // { address: 'beijing' } console.log(objC) // { name: 'cc', age: 18, address: 'beijing' } console.log(obj) // { name: 'cc', age: 18, address: 'beijing' } // 是的,目标对象ObjC的值被改变了。 // so,如果objC也是你的一个源对象的话。请在objC前面填在一个目标对象{} Object.assign({}, objC, objA, objB)

猜你喜欢

转载自www.cnblogs.com/mapsxy/p/9565706.html