js中数组和对象的解构赋值
1.Es6中的解构语句,可以直接将数组中的每个元素提取出来,方式就是:let [变量名1,变量名2,...]=数组。例如;
let arr1 = [11, 22, 33, 44, 55]
括号类的相当于给每个索引重新命名,必须省略(let a=arr1[0];
let b=arr1[1];
let c=arr1[2];
let d=arr1[3];
let e=arr1[4];)
let [a, b, c, d, e] = arr1
console.log(a, b, c, d);
2.对象的解构赋值;
//定义变量
let no = 1001
let name = '周杰伦'
let age = 30
let sex = '男'
//定义对象
let stu1 = {
//属性名:属性值
//这里的属性值是上面定义的变量保存的值
no:no,
name:name,
age:age,
sex:sex
}
console.log(stu1);
console.log('-----------------');
//对象的属性名和属性值的标识相同时,可以省略属性值
let stu2 = {
// 是no:no的简写
no,
name,
age,
sex
}
console.log(stu2);
Es6中的解构语句,可以直接将对象中的每个属性或方法或对象提取出来,方式就是:let [属性名1,属性名2,...]=对象。例如;
let stu3 = {
username:'周杰伦',
userage:30,
usersex:'男',
car:{
carName:'奔驰',
carPrice:'100W'
}
}
//过去我们这样写 let username = stu3.username ; let userage = stu3.userage;let usersex = stu3.usersex;let {car} = stu3; let {carName,carPrice} = car
现在我们这样写(解构赋值)
let {username,userage,usersex:usersex2} = stu3
console.log(username,userage,usersex,usersex2);
let {car:{carName,carPrice}} = stu3
console.log(carName,carPrice);