求解释一下原因 特别是c
小伙看你根骨奇佳,潜力无限,来学PHP伐。
首先在 ES6 中,...本身就是有结构对象的作用.
...
const [...a] = [1, 2, 3] a // [1, 2, 3]
所以对于解构赋值,元素一一对应的关系,题目就分解成了
let [a, b, ...c] = [a, undefined, undefined]
这能有啥原因………… 解构赋值和聚合运算就是这么规定的……
赋值运算的右值数组中,第三位及以后都没有元素,那么c数组当然就是空数组……
c
var [a,b,...c] = ['a'] //c是不定参数,b是默认参数(undefined) console.log(a); //a console.log(b); //undefined 解构不成功就是undefined console.log(c); //[] 不定参数解构不成功是空数组[],它永远不可能为undefined
数组解构对默认参数和不定参数的规则不同
雷雷
首先在 ES6 中,
...
本身就是有结构对象的作用.所以对于解构赋值,元素一一对应的关系,题目就分解成了
这能有啥原因…………
解构赋值和聚合运算就是这么规定的……
赋值运算的右值数组中,第三位及以后都没有元素,那么
c
数组当然就是空数组……数组解构对默认参数和不定参数的规则不同
雷雷