展开运算符(…)用于将可迭代对象或对象展开为独立元素,实现数组/对象合并、浅拷贝、函数传参等,不修改原数据,仅浅层展开。

展开运算符(Spread Operator)是 JavaScript 中用三个点 … 表示的语法,它能把可迭代对象(如数组、字符串)或类数组对象“展开”成独立的元素,也能把对象的属性逐个取出。它不改变原数据,而是生成新数组或新对象,常用于合并、复制、解构等场景。
用展开运算符合并数组
可以把多个数组“摊开”,再用方括号组合成一个新数组,顺序按书写顺序排列。
例如:
const arr1 = [1, 2];const arr2 = [3, 4];const merged = [...arr1, ...arr2]; // [1, 2, 3, 4]
支持多个数组同时展开:[...a, ...b, ...c] 可以混入字面量值:[...arr1, 99, ...arr2] → [1, 2, 99, 3, 4] 不会修改原数组,arr1 和 arr2 保持不变
用展开运算符合并对象
对象展开会把每个自有可枚举属性(不含原型链上的)提取出来,按顺序合并到新对象中。若属性名重复,后面的对象会覆盖前面的。
立即学习“Java免费学习笔记(深入)”;
例如:
const obj1 = { a: 1, b: 2 };const obj2 = { b: 3, c: 4 };const merged = { ...obj1, ...obj2 }; // { a: 1, b: 3, c: 4 }
合并时属性顺序由展开顺序决定,后出现的同名属性会覆盖前面的 只做一层浅拷贝,嵌套对象仍共享引用 可与字面量混合:{ ...obj1, d: 5, ...obj2 }
其他常见用途
展开运算符不仅用于合并,还常用在函数调用、数组解构、浅拷贝等地方。
传参:代替 apply —— Math.max(...numbers) 浅拷贝数组:const copy = [...original] 浅拷贝对象:const copy = { ...original } 配合解构使用:const [first, ...rest] = arr(提取首项,剩余组成新数组)
基本上就这些。展开运算符写法简洁、语义清晰,是现代 JS 开发中非常实用的基础语法。注意它只处理一层结构,深层嵌套需配合其他方法处理。
以上就是javascript展开运算符是什么_它如何合并数组或对象?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1542745.html
微信扫一扫
支付宝扫一扫