Object.assign差対オブジェクトスプレッド(オブジェクト構文を拡張しています)

Object.assign対オブジェクトのスプレッドは:
大部分のオブジェクトのリセットの場合と同じように動作普及、主な違いは、ある  Object.assign()はそれらを設定しながら、スプレッドはプロパティを定義しますこれはObject.assign()がセッターをトリガーすることを意味します。

主な違いは、それがあるObject.assignプロパティを設定する際にトリガーsetter

Object.assign(
    {
        set a(v) { this.b = v }, 
        b: 2
    }, 
    { a: 4 }
)
// { b: 4 }
{
    ...{
        set a(v){ this.b = v },
        b:2
    }, 
    ...{ a: 4 }
}
// { a: 4, b: 2 }

PS:上記のセッター/ゲッターは使用して、文字通りの言い回しでObject.defineProperty()定義された同じ。アクセスは、このセクションを属性- 、P141は「JavaScriptの高度なプログラミング」を参照してください。

おすすめ

転載: www.cnblogs.com/nicholaswang/p/11459523.html