javascript展开运算符是什么_它有哪些实用的应用场景?

admin 百科 12
JavaScript展开运算符(...)用于将可迭代对象或对象展开为独立元素或属性,支持数组合并与浅拷贝、函数传参、对象合并与解构、类数组转换等,但仅浅层展开且不支持null/undefined。

javascript展开运算符是什么_它有哪些实用的应用场景?-第1张图片-佛山资讯网

JavaScript 展开运算符(Spread Operator)用三个点 ... 表示,它的核心作用是将可迭代对象(如数组、字符串、类数组、Map/Set 等)或对象“展开”成独立的元素或属性,从而在需要多个参数、多个值或多个键值对的上下文中使用。

数组合并与浅拷贝

展开运算符最直观的用途是替代 concat()slice() 实现数组操作。

  • 合并多个数组:const arr = [...arr1, ...arr2, ...arr3];
  • 快速浅拷贝数组:const copy = [...original];(比 original.slice() 更简洁)
  • 向数组开头/中间插入元素:const newArr = [0, ...arr, 99];

函数调用传参

当函数接收多个独立参数,而你手头是一个数组时,展开运算符能直接把数组“打散”为参数列表。

  • 替代 apply()Math.max(...numbers) 可直接求最大值,而不用写 Math.max.apply(null, numbers)
  • 构造新实例时传参:new Date(...[2023, 0, 1]) 相当于 new Date(2023, 0, 1)

对象展开与解构组合

对象展开用于复制属性、合并对象或提取默认值,常和解构赋值配合使用。

标签: javascript es6 java node app 键值对 可迭代对象

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~