当前位置: 代码迷 >> 综合 >> Object.assign(target, ...sources)
  详细解决方案

Object.assign(target, ...sources)

热度:17   发布时间:2023-11-25 04:01:49.0

实习期间写写博客~~~

一:Object.assign(target, …sources)
将源对象中所有课枚举的属性复制到target中,并返回target。
相同的属性会被覆盖,未出现的属性会被定义。
原理不是单纯的复制,请看下面注意部分。

注意!
如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。
Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。该方法使用源对象的[[Get]]和目标对象的[[Set]],所以它会调用相关 getter 和 setter。因此,它分配属性,而不仅仅是复制或定义新的属性。如果合并源包含getter,这可能使其不适合将新属性合并到原型中。为了将属性定义(包括其可枚举性)复制到原型,应使用Object.getOwnPropertyDescriptor()和Object.defineProperty() 。
String类型和Symbol类型的属性都会被拷贝。
在出现错误的情况下,例如,如果属性不可写,会引发TypeError,如果在引发错误之前添加了任何属性,则可以更改target对象。
注意,Object.assign 不会跳过那些值为 [null] 或 [undefined]的源对象。

二、SVN的使用

三、Git的使用

四、支付宝小程序和微信小程序的切换

  相关解决方案