第5章 解构:使数据访问更便捷
1.对象解构
- 允许默认值
let node = {
name: 'ylz',
age: 20
}
let {name, age, value = true} = node;
console.log(name); // ylz
- 为不同名局部变量赋值
let node = {
name: 'ylz',
age: 20
}
let {myName: name, myAge: age} = node;
console.log(myName); // ylz
- 嵌套对象解构
let node = {
name: 'ylz',
age: 20,
son: {
msg: {
name: '233'
}
}
}
let {son: {msg}} = node;
console.log(msg.name); // 233
2.数组解构
在ES6中交换变量
let a = 1,
b = 1;
[a, b] = [b, a];
console.log(a); // 2
console.log(b); // 1
3.不定元素
let colors = ['red', 'blue', 'green'];
let [firstColor, ...restColors] = colors;
console.log(restColors.length);
4.数组复制
ES5:
var colors = ['red', 'green'];
var newColors = colors.concat();
ES6:
let [...newColors] = colors;
5.解构参数
解构可以用在函数参数的传递过程中, 更加方便
funtion setCookie(name, value, {secure, path, domain, expires} = {}) {
// 设置cookie的代码
}
setCookie('type', 'js', {
secure: true,
expires: 6000
});
网友评论