ES6中的解构赋值

解构赋值:分解数据结构,为变量赋值

一、数组的解构赋值

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

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

如果解构不成功,变量的值为undefined。

let [foo] = [];
console.log(foo) // undefined

//按顺序赋值,没有的为undefined
let [a, b] = [1];
console.log(a) //1
console.log(b) //undefined

二、对象解构

对象解构允许我们使用变量的名字匹配对象的属性 匹配成功 将对象属性的值赋值给变量

let person = { name: 'zhangsan', age: 20 };
let { name, age,sex } = person;
console.log(name); // 'zhangsan'
console.log(age); // 20
console.log(sex); // undefined

使用别名赋值

let {name: myName, age: myAge} = person; // myName myAge 属于别名
console.log(myName); // 'zhangsan'
console.log(myAge); // 20

以上代码是将 person 中的 name赋值给myName,即myName才是真正的变量
小结:
解构赋值就是把数据结构分解,然后给变量进行赋值
如果结构不成功,变量跟数值个数不匹配的时候,变量的值为undefined
数组解构用中括号包裹,多个变量用逗号隔开,对象解构用花括号包裹,多个变量用逗号隔开
利用解构赋值能够让我们方便的去取对象中的属性跟方法

原文地址:https://www.cnblogs.com/qingheshiguang/p/14812833.html