"$.extend与Object.assign的区别?"

$.extend与Object.assign的区别?

1、Object.assign 函数不会处理原型链上的属性,也不会合并相同的属性,而是用后面的属性值覆盖前面的属性值
$.extend 3.x 版本中和 assign 一样,4.x 版本中会合并原型链上的属性

2、Object.assign只能实现浅拷贝,$.extend第一个参数为true,可以实现深拷贝,不过$.extend会把值为undefined的过滤掉

$.extend(true, [target], [source], ..., [source])

两者source源对象都是从右到左覆盖合并

PS:写作不易,如要转裁,请标明转载出处。

微信小程序:前端开发宝典

猜你想看
登录
注册
回顶部