解构赋值是一种表达式,可以使我们用更简洁的方式为变量赋值。它可以用于数组,对象等数据结构。
- 数组的解构赋值:
let [a, b, c] = [1, 2, 3];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
- 对象的解构赋值:
let {a, b} = {a: "apple", b: "banana"};
console.log(a); // "apple"
console.log(b); // "banana"
- 嵌套对象的解构赋值:
let {location: {city}} = {location: {city: "new york"}};
console.log(city); // "new york"
- 默认值:
let [a = 5] = [undefined];
console.log(a); // 5
- 函数参数的解构赋值:
function add([a, b]){
return a + b;
}
console.log(add([1, 2])); // 3
- 交换变量的值:
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a); // 2
console.log(b); // 1
- 提取JSON数据:
let jsonData = {
id: 42,
status: "OK",
data: [867, 5309]
};
let {id, status, data: number} = jsonData;
console.log(id); // 42
console.log(status); // "OK"
console.log(number); // [867, 5309]
- 函数返回多个值:
function example() {
return {
a: 1,
b: 2
};
}
let {a, b} = example();
console.log(a); // 1
console.log(b); // 2
以上就是ES6解构赋值的一些常见用法和例子。