Object.assign()用来拷贝对象,类似于jquery的$.extend方法
2017-05-11 20:43

Object.assign()

Object.assign()方法是Object对象的一个静态方法,可以将一个或多个源对象的可枚举值拷贝到目标对象,实现对象的拷贝或者扩展。在jquery中也存在一个跟它类似的方法:$.extend(),也是用来对对象进行拷贝扩展的。

Object.assign()对象使用方式很简单:

var obj={
    width:"100%",
    height:"100%",
    size:true,
    inline:false
}
var obj2={
    title:"mooshine平行线",
    origin:true,
    absolute:true,
    width:"80%"
}
var target=Object.assign(obj,obj2);
console.log(target);
console.log(obj);

打印结果如下:

blob.png

Object.assign()的语法是:

Object.assign(target,source1,source2,....);

它的第一个参数是目标对象,第2个至第n个参数是源对象,assign方法返回的结果是target对象,所以打印的target和obj的内容相同,他们是同一个对象。

同时assign方法拷贝的是属于对象自身的可枚举值,不涉及原型上的值。

Object.assign()方法不兼容IE,它的兼容性如下:

blob.png

blob.png

由于不兼容IE,所以我们不能再PC端使用,又因为它不兼容andriod,所以我们也不能再移动端使用,除了使用特定浏览器的项目页面中,我们可以使用Object.assign方法来替代$.extend方法外,我们几乎不能使用这个方法。在目前看来这个Object.assign()方法是没有用武之地的,所以对它,就权做了解罢了,当然如果你使用babel等转码ES6的js文件中倒是可以使用。

原创文章,转载请注明来自:妹纸前端-www.webfront-js.com.
阅读(5896)
辛苦了,打赏喝个咖啡
微信
支付宝
妹纸前端
妹纸前端工作室 | 文章不断更新中
京ICP备16005385号-1