1. 程式人生 > >ES6常用的解構賦值操作

ES6常用的解構賦值操作

  1. 解構巢狀的物件,注意,這時p是模式,不是變數,因此不會被賦值。如果p也要作為變數賦值,可以寫成下面這樣。
let obj = {
  p: [
    'Hello',
    { y: 'World' }
  ]
};

let { p, p: [x, { y }] } = obj;
x // "Hello"
y // "World"
p // ["Hello", {y: "World"}]
  1. 解構我們需要的變數
let [ , , third] = ["foo", "bar", "baz"];
third // "baz"
  1. 解構指定預設值
var {x = 3} = {};
x // 3
  1. 如果解構模式是巢狀的物件,而且子物件所在的父屬性不存在,那麼將會報錯。
// 報錯
let {foo: {bar}} = {baz: 'baz'};