【es6复习笔记】解构赋值(2)
介绍
解构赋值是一种非常方便的语法,可以让我们更简洁地从数组和对象中提取值,并且可以应用于很多实际开发场景中。
1. 数组的解构赋值
数组的解构赋值是按照一定模式从数组中提取值,然后对变量进行赋值。下面是一个例子:
const F4 = ['小沈阳', '刘能', '赵四', '宋小宝'];
let [xiao, liu, zhao, song] = F4;
console.log(xiao); // 输出: 小沈阳
console.log(liu); // 输出: 刘能
console.log(zhao); // 输出: 赵四
console.log(song); // 输出: 宋小宝
在这个例子中,我们定义了一个数组 F4
,然后使用解构赋值将数组中的元素分别赋值给变量 xiao
、liu
、zhao
和 song
。
2. 对象的解构赋值
对象的解构赋值是按照一定模式从对象中提取值,然后对变量进行赋值。下面是一个例子:
const zhao = {
name: '赵本山',
age: '不详',
xiaopin: function() {
console.log("我可以演小品");
}
};
let { name, age, xiaopin } = zhao;
console.log(name); // 输出: 赵本山
console.log(age); // 输出: 不详
console.log(xiaopin); // 输出: [Function: xiaopin]
xiaopin(); // 输出: 我可以演小品
在这个例子中,我们定义了一个对象 zhao
,然后使用解构赋值将对象中的属性分别赋值给变量 name
、age
和 xiaopin
。
复杂解构赋值
// 复杂解构
let wangfei = {
name: '王菲',
age: 18,
songs: ['红豆', '流年', '暧昧', '传奇'],
history: [
{name: '窦唯'},
{name: '李亚鹏'},
{name: '谢霆锋'}
]
};
let {songs: [one, two, three], history: [first, second, third]} = wangfei;
3. 解构赋值的应用场景
解构赋值在实际开发中有很多应用场景,比如:
- 函数参数的解构赋值,可以简化函数调用时的参数传递。
- 从 API 返回的数据中提取需要的数据。
- 交换变量的值。
下面是一个交换变量值的例子:
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a); // 输出: 2
console.log(b); // 输出: 1
在这个例子中,我们使用解构赋值来交换变量 a
和 b
的值。