Object.assignが実装された
概要
Object.assignはオブジェクト同士をマージするJSerの誰もが長年追い求めた夢のメソッドである。
使い方
Object.assign( target, ...sources )
第一引数で渡したオブジェクトに、第二引数以降のオブジェクトが直接持つ、
全ての列挙可能なStringまたはSymbolプロパティを加え、結果として返す。
例:
var sym = Symbol() var obj1 = { "str": 1, } var obj2 = { "str": 2, [sym]: 2 } var obj3 = Object.assign( obj1, obj2 ) console.log( obj1 == obj3 ) // true console.log( obj1["str"] == 2 ) // true console.log( obj1[ sym ] == 2 ) // true
例:コンストラクタで使う
class Cat { constructor( name, age, color ) { Object.assign( this, { name, age, color } ) } } var tama = new Cat( 'タマ', 9, '桃' ) console.log( tama.name == 'タマ' ) // true
例:オブジェクトを(シャロー)コピーする
var cat = Object.assign( {}, tama ) tama.name = '多摩' console.log( cat.name ) // 'タマ'
実装されるバージョン
V8 4.4.56 4.5.68(デフォルト有効)