メモとして残します。
トランスパイルをしない場合でスプレッド構文と同じような実装のやりかたを記述します。
(JSはレガシーな環境だと目的達成が大変です・・・)
#■やり方
###1. headでPolyfillを読む
(オンライン限定)
<script
src="https://polyfill.io/v3/polyfill.min.js"
crossorigin="anonymous">
</script>
###2. 下記のようにObject.assignがっちゃんこ。
let obj1 = {
'hoge':'hogehoge',
'hige':'higehige'
}
let obj2 = Object.assign(
obj1,
{
'hige':'HIGEHIGE',
'fuge':'fugefuge'
}
)
// obj2 → {hoge: "hogehoge", hige: "HIGEHIGE", fuge: "fugefuge"}
//スプレッド構文の場合
//let obj1 = {
// 'hoge':'hogehoge',
// 'hige':'higehige'
//}
//let obj2 = {
// ...obj1,
// 'hige':'HIGEHIGE',
// 'fuge':'fugefuge'
//
//}
ここで一つ注意しないといけないのは、
プロトタイプチェーンされているオブジェクトの場合
は上記のような動作にならないため注意が必要。