【JavaScript】Object.create()【中級者】

Object.createは、新しいオブジェクトを指定したプロトタイプオブジェクトから生成するためのメソッドである。
このメソッドを使うことで、新しいオブジェクトが指定したプロトタイプオブジェクトのプロパティやメソッドを共有することができる。

続きを読む

【JavaScript】Shallow copy(シャローコピー)

–mdn ここから–
オブジェクトのシャローコピーとは、コピーがコピー元のオブジェクトとプロパティにおいて同じ参照を共有する(同じ基礎値を指す)コピーのことを指します。その結果、コピー元とコピー先のどちらかを変更すると、もう一方のオブジェクトも変更される可能性があります。そのため、意図せずにコピー元やコピー先に予期しない変更が発生してしまう可能性があります。この挙動は、ソースとコピーが完全に独立しているディープコピーの挙動とは対照的です。

シャローコピーでは、オブジェクトの既存の要素にある共有プロパティの値を選択的に変更することは、既存の要素に完全に新しい値を割り当てることとは異なるということを理解することが重要です。

JavaScript では、すべての標準組込みオブジェクトのコピー操作(スプレッド構文, Array.prototype.concat(), Array.prototype.slice(), Array.from(), Object.assign(), Object.create())において、ディープコピーではなくシャローコピーを生成します。
–mdn ここまで–

続きを読む