首页前端开发JavaScript详解ES6 中的Object.assign()的用法实例代码

详解ES6 中的Object.assign()的用法实例代码

时间2024-01-31 13:52:02发布访客分类JavaScript浏览245
导读:收集整理的这篇文章主要介绍了详解ES6 中的Object.assign( 的用法实例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。 目录2.用途2.1为对象添加属性2.3克隆对象...
收集整理的这篇文章主要介绍了详解ES6 中的Object.assign()的用法实例代码,觉得挺不错的,现在分享给大家,也给大家做个参考。
目录
  • 2.用途
    • 2.1为对象添加属性
    • 2.3克隆对象
    • 2.4 合并多个对象
    • 2.5为属性指定默认值

方法Object.assign()
作用:将sourse对象的 赋值给目标对象,两者都有的会覆盖,target独有会保留,sourse独有会添加
使用方法

Object.assign方法实行的是浅拷贝,而不是深拷贝。也就是说,如果源对象某个属性的值是对象,那么目标对象拷贝得到的是这个对象的引用。

VAR object1 = {
 a: {
 b: 1 }
 }
    ;
ar object2 = Object.assign({
}
    , object1);
    object1.a.b = 2;
    console.LOG(object2.a.b);
    

2.用途

2.1为对象添加属性

 2.2为对象添加方法

2.3克隆对象

function copyFnc(origin) {
return Object.assign({
}
, origin)}
var sur = {
 a: 1, b: 2 }
    ;
    console.log(copyFnc(sur));
    

上面代码将原始对象拷贝到一个空对象,就得到了原始对象的克隆。

不过,采用这种方法克隆,只能克隆原始对象自身的值,不能克隆它继承的值。如果想要保持继承链,可以采用下面的代码。

function clone(origin) {
    let originPRoto = Object.getPrototyPEOf(origin);
    return Object.assign(Object.create(originProto), origin);
}
    

在JS里子类利用Object.getPrototypeOf去调用父类方法,用来获取对象的原型。

2.4 合并多个对象

//多个对象合并到某个对象

const merge = (target, ...sources) =>
     Object.assign(target, ...sources);
    

//多个对象合并到新对象

const merge = (...sources) =>
 Object.assign({
}
    , ...sources);
    

2.5为属性指定默认值

const defaults = {
logLevel: 0,outputFormat: 'htML'}
    ;
function processContent(options) {
let options = Object.assign({
}
    , DEFAULTS, options);
}
    

到此这篇关于详解ES6 Object.assign()的用法及用途的文章就介绍到这了,更多相关ES6 Object.assign()的用法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • ES6 Object.assign()的用法及其使用
  • ES6中新增的Object.assign()方法详解

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ES6

若转载请注明出处: 详解ES6 中的Object.assign()的用法实例代码
本文地址: https://pptw.com/jishu/594044.html
c语言主函数名是什么? 了不起的11个JavaScript代码重构最佳实践小结

游客 回复需填写必要信息