项目中常用的几种JS解构赋值

  • 解构赋值给已经声明过的变量

    • 例子:

      let obj = { x: 1, y: "hello", z: false };
      let x = 0, y = 0, z = 0;
      // 解构赋值给已经声明过的变量(记得加括号)
      ({ x, y, z } = obj);
      

  • 解构赋值给对象下的属性

    • 例子:

      let obj = {};
      ({ x: obj.a, y: obj.b, z: obj.c } = { x: 1, y: 2, z: 3 });
      console.log(obj); // { a: 1, b: 2, c: 3 }
      
  • 同样的,也可以解构赋值给 this​​ 下的属性

    • 例子:

      function myFunction({x, y, z}){
        ({ x: this.a, y: this.b, z: this.c } = { x, y, z });
      }
      
      let obj = {};
      myFunction.call(obj, {x:1, y:2, z:3});
      console.log(obj);  // {a: 1, b: 2, c: 3}