ES6 - 物件

貓董發表於2018-12-18

物件的簡潔語法

  • 之前的物件語法:
    let name = 'murphy';
    let age = '18';
    let json = {
        name: name,
        age: age,
        showName: function(){
            console.log('this.name');
        }
    }
    複製程式碼
  • ES6物件的簡潔語法:
    let name = 'murphy';
    let age = '18';
    let json = {
       name,
       age,
       showName(){     //需要注意這個地方不要用箭頭函式
           console.log('this.name');
       }
    }
    複製程式碼

ES6物件的新增特性

  1. Object.is('a','a');用於比較物件是否相等,與==,===相比,解決了NaN!=NaN; +0 == -0等問題;
  2. Object.assign(target,source1,source2,..)合併物件,後面的物件會覆蓋前面的物件,用途舉例:
    • 用於AJAX中使用者自定義options 與defaults 合併;
    • 用複製物件:obj2 = Object.assign('',obj1);
  3. 與陣列類似,物件中也新增了Object.keys(), Object.entries(),而且物件還有Object.values:常用於 for...of迴圈遍歷;
  4. 擴充套件運算子...obj 也可以用於物件:
    • 剩餘引數let {x,y,...z} = {x:1,y:2,a:3,b:4,c:5};
    • 物件複製let json2 = {...json1};

相關文章