• 【ES6】变量的解构赋值


    1. 数组

    var [a, b, c] = [1, 2, 3];
    let [a, [b], d] = [1, [2, 3], 4];

    默认值生效的条件是,对象的属性值严格等于undefined。
    [x, y = 'b'] = ['a', undefined]; // x='a', y='b'

    2. 对象

    let和const来说,变量不能重新声明,所以一旦赋值的变量以前声明过,就会报错。
    var命令允许重新声明

    var { foo: baz } = { foo: "aaa", bar: "bbb" };
    baz // "aaa"

    3. 字符串

    4. 数值和布尔值

    5. 函数参数

    [[1, 2], [3, 4]].map(([a, b]) => a + b);
    // [ 3, 7 ]

    6. 圆括号

    • 不能使用圆括号的情况
      a. 变量声明语句中,不能带有圆括号。
      b. 函数参数中,模式不能带有圆括号。
      c. 赋值语句中,不能将整个模式,或嵌套模式中的一层,放在圆括号之中。

    • 可以使用圆括号
      a. 赋值语句的非模式部分,可以使用圆括号。

    7. 用途

    a. 交换变量的值
    b. 返回多值(在 python 里面见过这个用法)
    c. 定义函数参数
    // 参数是一组有次序的值
    function f([x, y, z]) { ... }
    f([1, 2, 3]);
    d. 提取JSON数据
    e. 函数参数的默认值
    f. 遍历Map结构(!important)
    g. 输入模块的指定方法(!important)
    加载模块时,往往需要指定输入那些方法。解构赋值使得输入语句非常清晰。
    const { SourceMapConsumer, SourceNode } = require("source-map");

    计划、执行、每天高效的活着学着
  • 相关阅读:
    elementui:eltreenode
    Cesium+Vue
    TXT文件读写
    The Naked Kitchen
    0627realman
    信息: XML validation disabled
    跟踪加载图像
    加载和显示图像
    文件创建
    彩色图像转灰度图像
  • 原文地址:https://www.cnblogs.com/huxiaoyun90/p/5540399.html
Copyright © 2020-2023  润新知