值得一看
双11 12
广告
广告

JS中的…运算符有什么作用?怎么用?

javascript 中的 … 运算符主要有三个用途:1. 展开数组或对象元素,用于函数参数传递或合并数组/对象;2. 在函数参数中收集剩余参数,形成数组处理任意数量输入;3. 在解构赋值中收集剩余部分,便于提取或排除特定数据。例如用 […arr1, …arr2] 合并数组,用 function sum(…numbers) 处理变参,以及通过 [first, …rest] 解构获取剩余元素。

JS中的...运算符有什么作用?怎么用?

在 JavaScript 中,… 运算符是一个非常实用的语法,主要用在数组和对象的操作中。它看起来简单,但用途广泛,能让你写出更简洁、易读的代码。


展开数组或对象的内容

… 最常见的一个作用是“展开”数组或对象中的元素。比如你想把一个数组里的所有元素作为参数传给一个函数,或者合并多个数组时,就可以用它。

举个例子:

const arr = [1, 2, 3];
console.log(...arr); // 输出:1 2 3

上面这行代码等价于把数组中的每个元素单独传给 console.log。这种写法在合并数组时特别方便:

const arr1 = [1, 2];
const arr2 = [3, 4];
const combined = [...arr1, ...arr2]; // [1, 2, 3, 4]

对对象也是一样,比如合并两个对象:

const obj1 = { a: 1 };
const obj2 = { b: 2 };
const merged = { ...obj1, ...obj2 }; // { a: 1, b: 2 }

收集函数参数

除了展开,… 还可以用在函数参数中,用来收集“剩余”的参数,也就是我们常说的“rest 参数”。

比如这个例子:

function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}
sum(1, 2, 3); // 6

这里的 …numbers 把传进来的所有参数都收集成一个数组,这样你就可以处理任意数量的参数了。

需要注意的是,在函数定义里,… 只能出现在最后一个参数上,否则会报错。


在解构赋值中使用

… 还可以配合数组或对象的解构使用,把剩下的内容收集起来。

比如从数组中提取前几个元素,剩下的放在一起:

const [first, ...rest] = [1, 2, 3, 4];
console.log(first); // 1
console.log(rest);  // [2, 3, 4]

对象也一样:

const { a, ...others } = { a: 1, b: 2, c: 3 };
console.log(a);     // 1
console.log(others); // { b: 2, c: 3 }

这种写法在处理数据时非常有用,尤其是你需要去掉某些字段或者提取部分数据的时候。


基本上就这些常见用法了。… 看起来只是一个符号,但理解清楚它在不同上下文中的行为,会让你写 JS 更加得心应手。

温馨提示: 本文最后更新于2025-06-08 22:42:20,某些文章具有时效性,若有错误或已失效,请在下方留言或联系易赚网
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容