JavaScript 扩展运算符怎么用

早上收拾书包时,你把笔记本、笔、水杯一股脑塞进侧袋,这就是“合并”;要是不小心漏带了橡皮,从笔袋里单独拿出来添进去,这就是“拷贝修改”。这种随手就能完成的小事,在代码世界里,全靠JavaScript的“扩展运算符”帮你实现。它就像个万能小帮手,把零散的东西“摊”开再组合,新手也能轻松上手。

数组:合并、拷贝都简单

数组是代码里存一堆东西的常用容器,扩展运算符在数组上用得最多。比如你和朋友约好带零食,你带了「薯片、饼干」,朋友带了「可乐、糖果」,要把两堆零食放一起,不用一个个写,用扩展运算符就能一键合并:

JavaScript 扩展运算符怎么用

`javascript

const mySnacks = ['薯片', '饼干'];

const friendSnacks = ['可乐', '糖果'];

const allSnacks = [...mySnacks, ...friendSnacks];

// 结果就是 ['薯片', '饼干', '可乐', '糖果']

`

要是想单独加一样东西,比如给自己添个巧克力,直接在中间插就行:const allSnacks = [...mySnacks, '巧克力', ...friendSnacks]。

除了合并,它还能轻松“拷贝”数组。比如你从外卖APP买了奶茶,想给闺蜜也点一杯一模一样的,不用重新输入配料,拷贝一下就行:

`javascript

const myMilkTea = ['珍珠', '三分糖', '热饮'];

const闺蜜MilkTea = [...myMilkTea];

`

这和直接写const 闺蜜MilkTea = myMilkTea不一样——后者只是给原来的数组起了个新名字,改一个另一个也会变;而用扩展运算符拷贝的是新数组,改闺蜜的奶茶,你的不会受影响,就像真的给闺蜜重新点了一杯。

对象:合并、修改不冲突

对象是存“名字-内容”的组合,比如你记作业的清单:const homework = { 语文: '写作文', 数学: '做卷子' }。要是想加个英语作业,或者合并两个人的作业清单,扩展运算符也能用。比如你和同桌的作业要放一起,就可以这么做:

`javascript

const myHomework = { 语文: '写作文', 数学: '做卷子' };

const deskmateHomework = { 数学: '做练习册', 英语: '背单词' };

const allHomework = { ...myHomework, ...deskmateHomework };

`

结果里数学作业会是“做练习册”——后面的对象会覆盖前面的,就像你先记了数学要做卷子,同桌又说要做练习册,最后你会按同桌的要求改,不会同时做两样。

要是想改某一项,比如把自己的数学作业改成“做练习册”,不用重新写整个对象,直接在后面加就行:

`javascript

const myUpdatedHomework = { ...myHomework, 数学: '做练习册' };

`

这样既保留了语文作业,又改了数学,比重新写一遍方便多了。

实用小技巧:处理零散数据

日常写代码时,经常会遇到零散的内容,比如函数要接收好几个参数,扩展运算符也能帮上忙。比如你订外卖要选「主食、配菜、饮料」三个选项,用扩展运算符可以把数组里的内容拆成单个参数传进去:

`javascript

function order(food, side, drink) {

console.log(订了${food}、${side}、${drink});

}

const myOrder = ['汉堡', '薯条', '可乐'];

order(...myOrder); // 结果就是订了汉堡、薯条、可乐

`

这就像你把装在袋子里的外卖拿出来,分别放到三个格子里,不用一个个递。

可能有人会担心,用扩展运算符会不会搞砸?其实它就像你平时整理东西的习惯:合并时按顺序放,拷贝时留原份,改东西时只改需要的部分,不会乱动别的。新手只要多试几次,把数组和对象的操作代入日常小事,很快就能用熟。它没有复杂的规则,就是帮你省力气的小工具,不用怕用错。

上一篇 Swift编程语言核心特性与应用场景的全面科普讲解