Object.assign 合并多个JavaScript的对象

Object.assign 合并多个JavaScript的对象

常规用法,以及一些注意事项和说明:

  • ES6新添加的接口
  • 语法:Object.assign(target,source1,source2,source3);
  • 属于浅拷贝——>拷贝过来的只是一个引用
  • 对象合并时,一旦碰到对象里同名属性,就会出现后面对象中的属性覆盖前面对象中的属性现象

示例

一般按如下方式写

var source1 = {
    m:'front',
    subm:'money_sign',
    action:'init',
};
var source2 = {
   account_id:'afb12',
   mp_id:'3'
}
var obj = Object.assign({}, source1, source2);
console.log(obj); 
// {m: "front", subm: "money_sign", action: "init", account_id: "afb12", mp_id: "3"}

其余用法

Object.assign 是针对Object开发的API,不仅实现简单的多个对象的合并,还可以为对象添加属性、方法等

  • 为对象添加属性
这里写代码片
  • 为对象添加方法
function sometest (){ }
      // 方法也是对象
      // 将两个方法添加到类的原型对象上
      // 类的实例会有这两个方法
Object.assign(sometest.prototype,{
     test1(arg1,arg2){
          console.log('this is method one='+arg1);
          console.log('this is method one='+arg2);
     },
     test2(){
         console.log('this is method two');
     }
 });
 sometest.prototype.test1('haode','2')
 sometest.prototype.test2()
 console.log(sometest.prototype)

结果:
this is method one=haode
this is method one=2
this is method two

{test1: ƒ, test2: ƒ, constructor: ƒ}
test1: ƒ test1(arg1, arg2)
test2: ƒ test2()
constructor: ƒ sometest()__proto__: Object
ƒ Object() { [native code] }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值