项目中常用的几种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}