ES6的解構賦值是一種非常便利的語法糖果, 可以想像成分解一個物品再套入到新的集合, 取值的部分不需要多餘的轉換, 讓程式碼更加簡潔。

概念

  • 主要從object、array這類的集合提取值再指定到新的變數。
  • 原本只能藉由迴圈來取值, 且要藉由index條件來中止, 使用起來較不便利。
const [ code, body ] = [200, { "message": "ok"}]

console.log(code); // 200
console.log(body); 
// {
//     "message": "ok"
// }

// 物件的解構賦值
const { user, password } = { "user": "john", "password": "123" };

console.log(user); // john
console.log(password);// 123

應用

swap功能, 交換兩個變數時

原本我們需要這樣

let a = 1;
let b = 2;
let tmp = a;
a = b;
b = tmp;

用es6可以這樣

let a = 1;
let b = 2;
[a, b] = [b, a];

設計一個function接收多個參數值時

const sum = (...params) => {
    console.log(params); // [1,2,3,4.......more];
    return params.reduce((r, p) => r + p, 0);
}