2つのオブジェクトを新しいオブジェクトに上書き



最近は新しいものに触れたり勉強したりして、既存のものを復習する必要がありますが、時間をうまく利用していません.
新しい概念を理解するために、新しい内容を復習するのも大変だからだ.
しかし、基礎が最も重要で、基礎が崩壊すれば、新しい概念ももちろん崩壊する.
今日はそれを経験したようです.2つのオブジェクトを統合しようとしたが、思い出せなかった.もう一度復習した.
2人の相手がいると言ってください.2つのオブジェクトには、同じキー値と、互いに存在しないキー値があります.
この場合、2つのオブジェクトのキー値を含む新しいオブジェクトを作成する場合は、どうすればいいですか?
let kimStore = { 
 		  apple: 10,
                  banana: 20,
                  orange: 15,
                  melon: 5
               }

let leeStore = {
 		  banana: 30,
 		  apple: 40,
 		  grape: 25,
 		  orange: 2
		}
まず、結合する前に、同じキーを持つ値をどのオブジェクトに適用するかを決定する必要があります.
すなわち,マージ時にkimstore値かleestore値かをオーバーラップしたキーに残す.
ここでleestoreの値が残りであると仮定し、加算します.
新しいオブジェクトに2つのオブジェクト値を作成し、変形しないようにする場合は、Object.assign();法を用いて統合することができる.Object.assign();メソッドは、オブジェクトを浅くコピーする場合にも使用されます.
コピーするときはこのように使います.
let kimStore1 = Object.assign({}, kimStore);

kimStore //  {apple: 10, banana: 20, orange: 15, melon: 5}
kimStore1 // {apple: 10, banana: 20, orange: 15, melon: 5}
これにより、2つのオブジェクトは、まったく異なるアドレス値を有し、同じ値を有する状態オブジェクトとなる.
このメソッドは、空のオブジェクト{}からkimStoreのkeyとvalueを1つずつポップアップします.
空のオブジェクトに新しいアドレス値を割り当てるプロセスは、浅いレプリケーションを行う方法です.
このメソッドを使用して、上記の2つのオブジェクトをマージします.
let kimleeStore = Object.assign({}, kimStore, leeStore);

kimleeStore // {apple: 40, banana: 30, orange: 2, melon: 5, grape: 25}
kimStore    // {apple: 10, banana: 20, orange: 15, melon: 5}
leeStore    // {banana: 30, apple: 40, grape: 25, orange: 2}
kimstoreだけのメロンはkimstoreの値段、重ねたりんご、バナナ、みかん
leestoreの値で作られていることがわかります.逆にkimstoreとleestoreの位置を変更すると、
kimstoreの価格が残ります後ろのオブジェクトは、前のオブジェクトの構造を上書きします.
ES 5バージョンで改良されました.昔は隠せなかったそうです.
KimStoreを一番前に、leeStoreを空のオブジェクト{}ではなく2番目の場所に配置する場合
どうなるんだろう.
let kimleeStore = Object.assign(kimStore, leeStore);

kimleeStore // {apple: 40, banana: 30, orange: 2, melon: 5, grape: 25}
kimStore    // {apple: 40, banana: 30, orange: 2, melon: 5, grape: 25}
leeStore    // {banana: 30, apple: 40, grape: 25, orange: 2}
kimstoreはleestoreを上書きするので、もちろんkimstoreを変更します.
新しく作られていない場合は、変数を宣言する必要はありません.
Object.assign(kimStore, leeStore);

kimleeStore // {apple: 40, banana: 30, orange: 2, melon: 5, grape: 25}
kimStore    // {apple: 40, banana: 30, orange: 2, melon: 5, grape: 25}
leeStore    // {banana: 30, apple: 40, grape: 25, orange: 2}
配列と対象の方法は本当に重要で、よく復習すべきです.
基礎は本当に重要です