部分的な分割代入
同じプロパティを持つ 2 つの Object であるObject1
とObject2
があり、いくつかのプロパティをObject2
からObject1
に代入したい場合、どうやってやるのがいいのかを知りたい。
なにも工夫せずに愚直にやるとしたら ↓ のようになる。
const object1 = { a: 'a', b: 'b', c: 'c', d: 'd', e: 'e' }
const object2 = { a: 'aaa', b: 'bbbb', c: 'ccc', d: 'ddd', e: 'eee' }
// object2のプロパティのうちaとbとcだけをobject1に代入したい
object1.a = object2.a
object1.b = object2.b
object1.c = object2.c
これをうまいことスマートに書きたいのだけど、うまく書けないだろうか。
この記事を読んで思い浮かぶのは、
const { a, b, c, ...rest } = object2
object1 = Object.assign(object1, { a, b, c })
という感じ。
これを読むと、
const { a, b, c, ...rest } = object2
object1 = Object.assign({}, object1, { a, b, c })
こうしなきゃいけない?
いずれにせよどうするのがいいのかもうちょっと色々やってみないと分からないかもしれん。