1、ES6数组解构:
在有解构这个特性之前,我们从数组中取值赋值一般都是根据下标
let list = [5, 2]
let numA = list[0]
let numB = list[1]
在了解ES6的结构特性后,数组取赋值只需要以下两行代码:
let list = [5, 2]
let [numA, numB] = list
2、ES6对象解构:
1)基础对象解构:
const person = {
name: 'Jason',
age: 18
}
//注意:此处变量名要相同
const {name, age} = person
2)没有声明对象解构:
const {name, age} = {name: 'Jason', age: 18}
3)对象解构并重命名其变量:
const {name: ming, age: ling} = {name: 'Jason', age: 18}
//log打印输出ming结果为=>Jason
console.log(ming)
4)假设后端返回的数据漏掉了某个属性,也可解构一个默认值:
const {name = 'Jason', age = 18, sex = '男'} = {name: '嗯哼', age: 18}
//log打印输出sex结果为=>男
console.log(sex)
console.log(name)//输出结果为=》嗯哼
end)解构既能改变量名又能赋值默认值:
const {name: ming = 'Jason', age: ling = 18, sex: bie ='男'} = {name: 'Jason', age: 18}
3、ES6解构嵌套对象
const person = { name: 'Jason', age: [{nowAge: 18}] }
const { name, age: [{nowAge: a}] } = person
console.log(name)//Jason
//log打印输出a结果为=>18
console.log(a)//Jason
4、ES6在函数参数中解构:
根据以往 想要获取对象中的属性值需要【对象.key】,但是运用解构可直接获取,方法如下:
//1.声明对象
const person = {
name: 'Jason',
age: 18
}
//2.创建方法
function people ({name}) {
console.log(name)
}
//3.调用方法
people(person)
5、ES6解构变量交换:
let name = 'Jason'
let sex = '男'
[name , sex ] = [sex, name ]
//name = '男'; sex = 'Jason'
6、ES6从函数返回解构数组
function person () {
return ['Jason', 'Join', 'Gina']
}
let a, b, c
[a, b, c] = person()
//注:若不想要某些值,可写成如下代码:
//[a, b, ] = person()