美文网首页
es6 数组的解构赋值

es6 数组的解构赋值

作者: 月光_薛 | 来源:发表于2018-05-16 15:04 被阅读0次

    本质上,数组的解构赋值这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。
    如果解构不成功,变量的值就等于undefined。
    另一种情况是不完全解构,即等号左边的模式,只匹配一部分的等号右边的数组。这种情况下,解构依然可以成功。
    只要某种数据结构具有 Iterator 接口,都可以采用数组形式的解构赋值。
    解构赋值允许指定默认值。
    (注意,ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。如果一个数组成员是null,默认值就不会生效,因为null不严格等于undefined。)

    对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

    不能使用圆括号的情况:
    (1)变量声明语句
    (2)函数参数
    函数参数也属于变量声明,因此不能带有圆括号。

    相关文章

      网友评论

          本文标题:es6 数组的解构赋值

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