1. 程式人生 > 其它 >Object.assign()的用法

Object.assign()的用法

技術標籤:vue

Object.assign方法用於物件的合併,將源物件(source)的所有可列舉屬性,複製到目標物件(target)。
  例如:
  const target = {a:1},
  const source1 = {b:2}
  const source2 = {c:3};
Object.assign(target, source1,source2);
  target   // {a:1,b:2,c:3}
     Object.assign  方法的第一個引數是目標物件,後面的引數都是源物件。
注意:如果目標物件與源物件有同名屬性,或多個源物件有同名屬性,則後面的屬性覆蓋前面的屬性。
   例如:
  const
target = {a:1, b:1};   const source1 = {b:2,c:2}   const source2 = {c:3} Object.assign(target, source1, source2);  target // {a:1,b:2,c:3} 如果只有一個引數,Object.assign會直接返回該引數。   const obj = {a: 1};   Object.assign(obj) === obj // true 如果該引數不是物件,則會先轉成物件,然後返回。 typeof Object.assign(2) // "object" 由於undefined和null
無法轉成物件,所以如果它們作為引數,就會報錯。 Object.assign(undefined) // 報錯 Object.assign(null) // 報錯 如果非物件引數出現在源物件的位置(即非首引數),那麼處理規則有所不同。首先,這些引數都會轉成物件,如果無法轉成物件,就會跳過。 這意味著,如果undefined和null不在首引數,就不會報錯