Array中的解构赋值
同时声明多个变量
const [a,b,c] = [1,2,3];
console.log(a,b,c);
赋值数组中的前n个
const [a,b] = [1,2,3,4];
console.log(a,b);
跳开赋值数组中的某几个值
const [a,,,b] = [1,2,3,4];
console.log(a,b);
两个变量交换值
let [a,b] = [1,2];
[a,b] = [b,a];
console.log(a,b);
接收函数的多个返回值
const restaurant = {
name: 'Classico Italiano',
location: 'Via Angelo Tavanti 23, Firenze, Italy',
categories: ['Italian', 'Pizzeria', 'Vegetarian', 'Organic'],
starterMenu: ['Focaccia', 'Bruschetta', 'Garlic Bread', 'Caprese Salad'],
mainMenu: ['Pizza', 'Pasta', 'Risotto'],
order: function (starterIndex, mainIndex) {
return [this.starterMenu[starterIndex], this.mainMenu[mainIndex]];
},
}
const [starter, main] = restaurant.order(2, 0);
嵌套解构赋值
const nested =[1,2,[3,4]];
const [i,j,[m,n]] = nested;
console.log(i,j,m,n);
解构赋值中的默认值
const [p=0,q=0,r=0] = [8,9];
console.log(p,q,r);