美文网首页工作生活
【ES6】变量的解构赋值

【ES6】变量的解构赋值

作者: 琦思妙想君 | 来源:发表于2019-07-01 12:37 被阅读0次
    • 解构赋值的意思是自动的将一组值对应到同样结构的一组变量中,文中原话是:按照一定模式,从数组和对象中提取值,对变量进行赋值

    数组的解构赋值

    • 可以以数组或嵌套数组的结构进行解构赋值
    • 可以在解构赋值左侧表达式中为变量指定默认值(swift 也有类似的能力)。只有当一个数组成员严格等于undefined,默认值才会生效

    对象的解构赋值

    • 对象相当于是字典,按属性(key)进行解构
    • 如果变量与属性不同名,可以用“模式”来指定匹配的属性
    • 对象的解构可以嵌套,也可以用 “=” 指定默认值
    • 尽量不要用已经声明的变量进行解构赋值

    字符串的解构赋值

    • 字符串也可以进行解构赋值。字符串既可以被当做数组按顺序解构其中的字符,也可以被当做对象解构它的属性(如 length 等)

    数值和布尔值的解构赋值

    • 等号右边是数值和布尔值,则会先转为对象

    函数参数的解构赋值

    • 函数的参数也可以使用解构赋值,与表达式的解构规则一致
    • 也可以使用默认值,这个特性比较好,可以在部分情况下省去函数内部的参数合法性判断

    圆括号问题

    • 只要有可能,就不要在“模式”中放置圆括号
    • 可以在变量中使用圆括号
    • 个人看法最好还是都不用吧

    用途

    • 交换变量的值,这个写法有点玄幻。为什么这个写法能正确交换变量值?应该是等号右边的数组是对原变量进行了复制
    • 从函数返回多个值
    • 函数参数的定义
    • 提取 JSON 数据
    • 函数参数的默认值
    • 遍历 Map 结构
    • 输入模块的制定方法

    相关文章

      网友评论

        本文标题:【ES6】变量的解构赋值

        本文链接:https://www.haomeiwen.com/subject/uakgcctx.html