JavaScript学习笔记

JavaScript学习笔记_ES6_剩余运算符(rest)

2019-11-20  本文已影响0人  菜出意料

rest的形式为...变量名,是一个数组。

在函数中使用

用于获取函数的多余参数。可以将rest参数理解为Java中的可变参数

// 可将...items理解为arguments
function f (...items) {
    console.log(Array.isArray(items))   // true
    console.log(items)  // [ '4', 3, 6 ]
    for (let i in items) {
        items[i] += 1
    }
    console.log(items)  // [ '41', 4, 7 ]
    items.push(1, 2, 3)
    console.log(items)  // [ '41', 4, 7, 1, 2, 3 ]
}

f('4', 3, 6)

rest参数必须在函数参数列表最后的位置,否则,会报错。

// ...items必须在参数列表的最后,示例代码报错
function f (...items, o) {} // SyntaxError: Rest parameter must be last formal parameter

函数的length属性,不包括rest参数。

function f (o, ...items) {} 
f.length    // 1
function g (...items) {}
g.length    // 0

解构赋值中使用

let [...items] = [1, 2, 3, , 4]
console.log(items)  // [ 1, 2, 3, undefined, 4 ]
上一篇 下一篇

猜你喜欢

热点阅读