<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>解构赋值</title>
<script>
// let a, b;
let arr = ['孙悟空', '猪八戒'];
/*
a = arr[0];
b = arr[1];
*/
// [a, b] = arr;
// const [a, b] = arr;
function fn() {
return ['沙和尚', '唐僧'];
}
// const [a, b] = fn();
arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
// const [a, b, ,c] = arr; // 可以跳过元素
// const [a, b, ...c ] = arr; // ...变量,会接收后边所有的元素
// console.log('a='+a, 'b='+b, 'c='+c);
const obj = {
name: '孙悟空',
age: 18,
gender: '男'
};
let a, b, c;
// ({name:a, age:b, gender:c} = obj); // 将name赋值给a,age赋值给b,gender赋值给c
const {name, gender, age} = obj; // 如果变量名和属性名一致,则可以只写一个
// console.log(a, b, c);
// console.log(name, age, gender);
// 利用数组的解构来交换两个变量的位置
a = 10;
b = 20;
[a, b] = [b, a]; // 交换变量a和b的位置
arr = [1, 3, 2];
[arr[1], arr[2]] = [arr[2], arr[1]]; // 交换数组中两个元素的位置
// console.log('a =', a);
// console.log('b =', b);
console.log(arr);
</script>
</head>
<body>
</body>
</html>