JavaScriptのObject.assignの使い方

1544 ワード

1.ES 6において、オブジェクトの属性と方法は簡単に書くことができます.オブジェクトの属性値は書かなくてもいいです.属性名はすでに宣言されています.
var name = "zhangsan";
    var password = "1111111";
    var obj = {
       name,
       password,
       arr:[1,2,3,4],
       sayName(){
          console.log(this.name);
       }
    };
    console.log(obj);
    var obj1 = {
       age:20,
    };
2.Object.assign()方法
特徴:浅いコピー、オブジェクト属性の統合
    var nObj = Object.assign({},obj,obj1);//        ,   obj、obj1    。      :                  ,          ,          
    // console.log(nObj);
    // obj.sayName();//zhangsan
    // nObj.sayName();//zhangsan
    nObj.name = "lisi";
    nObj.sayName = function(){
      console.log(this.name);
    };
    console.log(nObj);
    obj.sayName();//zhangsan
    nObj.sayName();//lisi
    nObj.arr[0] = 10;
    console.log(obj);//[10,2,3,4]
    console.log(nObj); //[10,2,3,4]
    //      ,     ,        (              )
    //【  】: Object.assign()       :
     var arr11 = Object.assign([1,2,3],[4,5]);
     console.log(arr11);//[4,5,3]
     //[  ]:           ,           ,   
      var arr23 = {
         0:1,
         1:2,
         2:3
      };//       0、1,        .
Object.assign()方法の使い方
  • 複数のオブジェクトを統合する
  • .
  • クローンオブジェクト(浅い)
  • オブジェクトに複数の方法を追加する
  • .
    Object.assign(SomeClass.prototype, {
      someMethod(arg1, arg2) {
      },
      anotherMethod() {
      }
    });​
    //      
    SomeClass.prototype.someMethod = function (arg1, arg2) {​
    };
    SomeClass.prototype.anotherMethod = function () {
    };