ES6知识点整理之----解构赋值----对象

1、对象解构和数组解构不同点:数组是按次序排列的,取值按位置决定;对象没有次序,变量必须与属性同名,才能取到正确的值

2、对象解构:

    //完整写法:
    let { foo: foo, bar: bar } = { foo: "aaa", bar: "bbb" };

    //简写:
    let { foo, bar } = { foo: "aaa", bar: "bbb" };

3、对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。

4、与数组一样,解构可以用于 结构的对象

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

5、对象的解构也可以指定默认值。默认值生效的条件是,对象的属性值严格等于undefined

var {x = 3} = {}; x // 3 
var {x, y = 5} = {x: 1}; x // 1 y // 5 
var {x: y = 3} = {}; y // 3 
var {x: y = 3} = {x: 5}; y // 5 
var { message: msg = 'Something went wrong' } = {}; msg // "Something went wrong"
var { x = 3 } = { x : undefined}; x // 3
var {x = 3} = { x : null } x // null
原文地址:https://www.cnblogs.com/adhehe/p/9641178.html