JavaScript中的解构

142 阅读1分钟

数组解构

es6中允许从数组中提取值,按照对应位置对变量赋值。

let [a,b,c] = [1,2,3];
console.log(a, b, c);//1,2,3

变量a,b,c分别对应1,2,3

左边的[a,b,c]不代表数组,代表解构,从数组中提取值

let [a, b, c] = [1, 2, 3, 4]; 
console.log(a, b, c);//1,2,3
let [a, b, c] = [1, 2]; 
console.log(a, b, c);// 1 2 undefined

对象解构

let person = { name: "Jenny", age: "18", sex: "girl" };
let { name, age, sex } = person;
console.log(name, age, sex);

在左边的{}中的是变量,将对象的属性赋值给变量;

let person = { name: "Jenny", age: "18", sex: "girl" };
let {name: myName,age: myAge} = person; // myName myAge 属于别名
console.log (myName) ; // 'Jenny '
console.log (myAge); //18

在左边的{}中左边的name、ag只是用作与person的属性对应,真正的变量是右边的myName、myAge