【手写代码】Object.assign() 原理及实现

本文详细介绍了`Object.assign()`的作用、使用场景及其实现原理。它用于将源对象的所有可枚举属性复制到目标对象,若存在同名属性,源对象的属性会覆盖目标对象的属性。注意,拷贝是浅拷贝,不包括继承属性和不可枚举属性。文章还探讨了当源或目标为非对象类型时的转化行为,并提供了手写代码示例。
摘要由CSDN通过智能技术生成

👉【手写代码】Object.create() 原理及实现

一、作用:

所有可枚举属性的值从一个或多个源对象复制到目标对象。

  • 拷贝是浅拷贝;
  • 继承属性和不可枚举属性不能拷贝;
  • 如果有同名属性的话,后面的属性值会覆盖前面的属性值;
  • 当target, source不是对象(Array, String, Boolean, Number)时,会内部转化为对象

Object.assign(target, ...sources)

参数:   target--->目标对象

              source--->源对象

返回值:target,即目标对象

使用场景一:

var target={name:'chailo',age:18};
var source={state:'single'}
var result=Object.assign(target,source);
console.log(target);                // { name: 'chailo', age: 18, state: 'single' }
console.log(target==result);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值