美文网首页
object.assign

object.assign

作者: peerben | 来源:发表于2018-08-12 20:30 被阅读7次
    Object.assign(target, ...sources)
    

    如果目标对象中的属性具有相同的键,则属性将被源中的属性覆盖。后来的源的属性将类似地覆盖早先的属性。

    Object.assign 方法只会拷贝源对象自身的并且可枚举的属性到目标对象。该方法使用源对象的[[Get]]和目标对象的[[Set]],所以它会调用相关 getter 和 setter。因此,它分配属性,而不仅仅是复制或定义新的属性。如果合并源包含getter,这可能使其不适合将新属性合并到原型中。为了将属性定义(包括其可枚举性)复制到原型,应使用Object.getOwnPropertyDescriptor()Object.defineProperty()

    [String]类型和 [Symbol] 类型的属性都会被拷贝。

    在出现错误的情况下,例如,如果属性不可写,会引发TypeError,如果在引发错误之前添加了任何属性,则可以更改target对象。

    注意,Object.assign 不会跳过那些值为 nullundefined 的源对象。

    相关文章

      网友评论

          本文标题:object.assign

          本文链接:https://www.haomeiwen.com/subject/iukebftx.html