三点运算符
三点运算符用于操作数组,有两种层面:
# 扩展运算符(spread operator):
扩展运算符,和字面意思一样,就是把东西展开来。array和object都可以使用。
下面是🌰:
// array
let a = [2, 3, 4]
let b = [1, ...a, 5, 6] // [1, 2, 3, 4, 5, 6]
//object
let obj = {b: 2, c: 3}
let obj2 = {a: 1, ...obj, d: 4} // {a:1, b:2, c:3, d:4}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 剩余运算符(rest operator):
剩余运算符,是解构的一种,可以将剩余的东西放到一个array里面赋值给它。常用于函数参数传递。
下面是🌰:
function fn(n, ...args) { // ...args集合了剩余所有的参数组成参数数组,所以不管传入多少参数都能拿到
console.log(n) // 1
console.log(args) // [2, 3, 4, 5]
}
fn(1, 2, 3, 4, 5)
function fn(n, ...args, x){ // 注意!这里会报错,因为三点作为rest参数时,其后不能再出现任何参数!
...
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
在GitHub上编辑 (opens new window)
上次更新: 2/23/2022, 5:36:03 PM