📅  最后修改于: 2023-12-03 15:32:26.031000             🧑  作者: Mango
JS中的三个点指的是ES6中引入的Rest参数(...args)、Spread语法(...obj)以及解构赋值中的剩余参数(...rest)。
Rest参数写法为在参数前面加上三个点(...),用于获取函数的多余参数。
function foo(...args) {
console.log(args); // [1, 2, 3]
}
foo(1, 2, 3);
上述代码中,Rest参数...args
用于获取foo()
函数的多余参数,即1, 2, 3
,并将其以数组的形式赋值给args
变量。
Spread语法写法也为三个点(...),但指的是将一个数组或对象展开成多个参数。
function foo(a, b, c) {
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
}
const arr = [1, 2, 3];
foo(...arr);
上述代码中,Spread语法...arr
将数组[1, 2, 3]
展开成多个参数,即foo(1, 2, 3)
。
剩余参数在解构赋值中使用,写法也为三个点(...),用于获取剩余的数组。
const [a, b, ...rest] = [1, 2, 3, 4, 5];
console.log(a); // 1
console.log(b); // 2
console.log(rest); // [3, 4, 5]
上述代码中,剩余参数...rest
用于获取解构赋值中多余的数组,即[3, 4, 5]
,并将其以数组的形式赋值给rest
变量。
以上三个点在JS中的应用相互联系,可以方便地用于函数参数处理、数组操作等场景中,使代码更加简洁易读。