<!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>