搜尋

首頁  >  問答  >  主體

javascript - es6的陣列的解構賦值

#求解釋一下原因 特別是c

伊谢尔伦伊谢尔伦2828 天前473

全部回覆(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
  • 取消回覆