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

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

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

JavaScript 的展开运算符(Spread Operator)是三个连续的英文句点 ...,它能把可迭代对象(如数组、字符串、类数组对象)或对象“展开”成独立的元素或属性,常用于复制、合并、解构等操作。

数组的展开与合并

展开运算符最直观的用途是把数组“打散”成单个元素,方便传参或拼接。

  • 替代 concat() 合并数组:
    const arr1 = [1, 2]; const arr2 = [3, 4]; const merged = [...arr1, ...arr2]; // [1, 2, 3, 4]
  • 函数调用时展开参数:
    Math.max(...[2, 5, 1]) // 等价于 Math.max(2, 5, 1) → 5
  • 快速浅拷贝数组:
    const copy = [...originalArray];(注意:只复制第一层)

对象的展开与合并

对对象使用展开运算符,会将其自身可枚举属性(不含原型链)展开为键值对,常用于对象合并或添加新属性。

  • 合并多个对象,后出现的同名属性会覆盖前面的:
    const a = { x: 1 }; const b = { y: 2, x: 99 }; const obj = { ...a, ...b }; // { x: 99, y: 2 }
  • 添加新属性或覆盖已有属性:
    { ...user, name: 'Alice', active: true }
  • 实现对象浅拷贝:
    const clone = { ...originalObj };

替代 apply 和简化解构

展开运算符让一些传统写法变得更简洁自然。

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

发布评论 0条评论)

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