JavaScript 扩展运算符

JavaScript 扩展运算符文章目录扩展运算符使用扩展运算符复制数组使用扩展运算符克隆数组带对象的扩展运算符剩余参数参考文档 在本教程中 您将借助示例了解 JavaScript 扩展运算符 扩展运算符是 JavaScriptES 版本中新增的可用功能 扩展运算符 扩展运算符 用于扩展可迭代类型或数组 例如 constarrValu My name is Jack console log arrValue My name is Jac

扩展运算符

    扩展运算符…用于扩展可迭代类型或数组。例如,

const arrValue = ['My', 'name', 'is', 'Jack']; console.log(arrValue); // ["My", "name", "is", "Jack"] console.log(...arrValue); // My name is Jack 

    在这种情况下,代码:

console.log(...arrValue) 

    相当于:

console.log('My', 'name', 'is', 'Jack'); 

使用扩展运算符复制数组

    您还可以使用扩展语法 …将项目复制到单个数组中。例如,

const arr1 = ['one', 'two']; const arr2 = [...arr1, 'three', 'four', 'five']; console.log(arr2); // Output: // ["one", "two", "three", "four", "five"] 

使用扩展运算符克隆数组

    在 JavaScript 中,对象是通过引用而不是通过值来分配的。例如,

let arr1 = [ 1, 2, 3]; let arr2 = arr1; console.log(arr1); // [1, 2, 3] console.log(arr2); // [1, 2, 3] // append an item to the array arr1.push(4); console.log(arr1); // [1, 2, 3, 4] console.log(arr2); // [1, 2, 3, 4] 
let arr1 = [ 1, 2, 3]; // copy using spread syntax let arr2 = [...arr1]; console.log(arr1); // [1, 2, 3] console.log(arr2); // [1, 2, 3] // append an item to the array arr1.push(4); console.log(arr1); // [1, 2, 3, 4] console.log(arr2); // [1, 2, 3] 

带对象的扩展运算符

    您还可以将扩展运算符与对象文字一起使用。例如,

const obj1 = { x : 1, y : 2 }; const obj2 = { z : 3 }; // add members obj1 and obj2 to obj3 const obj3 = {...obj1, ...obj2}; console.log(obj3); // {x: 1, y: 2, z: 3} 

    这里,使用扩展运算符将 obj1 和 obj2 属性添加到 obj3。

剩余参数

let func = function(...args) { console.log(args); } func(3); // [3] func(4, 5, 6); // [4, 5, 6] 

    这里,

  • 当将单个参数传递给func()函数时,剩余参数仅采用一个参数。
  • 当传递三个参数时,剩余参数采用所有三个参数。
function sum(x, y ,z) { console.log(x + y + z); } const num1 = [1, 3, 4, 5]; sum(...num1); // 8 

    上一教程 :JS Template Literals                                          下一教程 :JS Map

参考文档

[1] Parewa Labs Pvt. Ltd. (2022, January 1). Getting Started With JavaScript, from Parewa Labs Pvt. Ltd: https://www.programiz.com/javascript/spread-operator

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216674.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午11:19
下一篇 2026年3月18日 上午11:20


相关推荐

  • 容器化部署 OpenClaw 与飞书集成:AI Agent 的安全沙箱实践

    容器化部署 OpenClaw 与飞书集成:AI Agent 的安全沙箱实践

    2026年3月13日
    11
  • Stata 15详细安装步骤

    Stata 15详细安装步骤安装步骤 安装前先关闭杀毒软件和 360 卫士 注意安装路径不能有中文 安装包路径也不要有中文 试装系统 win1064bit1 解压安装包 2 Stata15 分为 MP SE 和 IC 三个版本 不同的版本功能有些许差异 安装包中只有 MP 试用序列号和 SE 永久序列号 这两个版本安装方法有些许差异 本教程以 SE 安装为例 MP 的安装需要更改系统时间 MP 版本如最后安装完成出现 badserialnu

    2026年3月26日
    2
  • openclaw+qwen(笔记,非教程)

    openclaw+qwen(笔记,非教程)

    2026年3月15日
    2
  • Struts的ONGL

    Struts的ONGL

    2022年1月15日
    52
  • 关于前端项目经验

    关于前端项目经验按着套路的话来讲 一般的指标就是这样 项目名称项目描述具体职责 nbsp 当然 还可以更细化 国内的招聘站点 都有简历模板 填填空就可以了 也可以证明你在这些方面有造诣并且可以让人可以看的出的 demo 可以传到 github 之类的可在线预览的 列举几个站点 并注明参与了哪些部分 nbsp 学到了哪些知识 nbsp 首先项目经验一定要务实 因为基本是一定会被问到的 你在项目中的位置 上面有

    2026年3月26日
    2
  • sensor接口之DVP

    sensor接口之DVPsensor接口之DVP什么是DVPDVP时序PCLK、HSYNC、VSYNC对应关系sensor并行输出说明实际测量DVP信号什么是DVPDVP(DigitalVideoPort)是传统的sensor输出接口,采用并行输出方式,d数据位宽有8bit、10bit、12bit、16bit,是CMOS电平信号(重点是非差分信号),PCLK最大速率为96MHz,接口如下图:PCLK:pix…

    2022年6月11日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号