搜索

首页  >  问答  >  正文

javascript - es6的数组的解构赋值

求解释一下原因 特别是c

伊谢尔伦伊谢尔伦2826 天前471

全部回复(4)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:20:03

    首先在 ES6 中,...本身就是有结构对象的作用.

    const [...a] = [1, 2, 3]
    a // [1, 2, 3]

    所以对于解构赋值,元素一一对应的关系,题目就分解成了

    let [a, b, ...c] = [a, undefined, undefined]

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:20:03

    这能有啥原因…………
    解构赋值和聚合运算就是这么规定的……

    赋值运算的右值数组中,第三位及以后都没有元素,那么c数组当然就是空数组……

    回复
    0
  • 迷茫

    迷茫2017-05-19 10:20:03

    var [a,b,...c] = ['a']
    //c是不定参数,b是默认参数(undefined)
    console.log(a); //a
    console.log(b); //undefined 解构不成功就是undefined
    console.log(c); //[] 不定参数解构不成功是空数组[],它永远不可能为undefined

    数组解构对默认参数和不定参数的规则不同

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:20:03

    雷雷

    回复
    0
  • 取消回复