es6解构赋值的高级技巧

Posted wuxianqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6解构赋值的高级技巧相关的知识,希望对你有一定的参考价值。

1. 解构嵌套的对象,注意,这时p是模式,不是变量,因此不会被赋值。如果p也要作为变量赋值,可以写成下面这样。

let obj = {
  p: [
    ‘Hello‘,
    { y: ‘World‘ }
  ]
};

let { p, p: [x, { y }] } = obj;
x // "Hello"
y // "World"
p // ["Hello", {y: "World"}]

 

2. 解构我们需要的变量

let [ , , third] = ["foo", "bar", "baz"];
third // "baz"

 

3. 解构指定默认值

var {x = 3} = {};
x // 3

 

4. 如果解构模式是嵌套的对象,而且子对象所在的父属性不存在,那么将会报错。

// 报错
let {foo: {bar}} = {baz: ‘baz‘};

 

以上是关于es6解构赋值的高级技巧的主要内容,如果未能解决你的问题,请参考以下文章

ES6解构

ES6解构赋值+字符串的扩展

高级JavaScript第篇

es6--解构赋值

ES6-----学习系列二(解构赋值)

阮一峰老师的ES6入门:变量的解构赋值