变量的解构赋值

2018-03-08  本文已影响0人  Shinemax

数组的解构赋值(按次序来比对)

对象的解构赋值(按照位置来取值)

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

    let { foo: baz } = { foo: "aaa", bar: "bbb" };
    baz // "aaa"
    foo // error: foo is not defined

    const node = {
        loc: {
            start: {
            line: 1,
            column: 5
            }
        }
    };

    let { loc, loc: { start }, loc: { start: { line }} } = node;
    line // 1
    loc  // Object {start: Object}
    start // Object {line: 1, column: 5}

上面代码有三次解构赋值,分别是对loc、start、line三个属性的解构赋值。注意,最后一次对line属性的解构赋值之中,只有line是变量,loc和start都是模式,不是变量。

字符串的解构赋值

数值和布尔值的解构赋值(会优先被转换为对象)

函数参数的解构赋值

圆括号问题(以下三种不得使用圆括号)

使用

上一篇 下一篇

猜你喜欢

热点阅读