美文网首页
JavaScript 函数进阶之:Rest 参数与 Spread

JavaScript 函数进阶之:Rest 参数与 Spread

作者: 可乐他爸 | 来源:发表于2025-03-13 22:49 被阅读0次

一、Spread语法是什么?

Spread语法(扩展语法)是JavaScript中由三个点...表示的语法糖,核心功能是将可迭代对象(如数组、字符串、对象等)展开为独立的元素或属性

其底层逻辑是“拆解再组合”。例如,[...arr]会将数组arr的每个元素拆解后按顺序填充到新数组中,等价于[arr[0], arr[1], arr[2]]


二、Spread语法的四大核心应用场景

  1. 函数调用:简化参数传递

    function calculate(a, b, c) { return a + b * c; }  
    const params = [2, 3, 4];  
    console.log(calculate(...params)); // 输出:14  
    

    Spread语法可将数组元素拆解为独立的函数参数,替代繁琐的apply()方法。

  2. 数组合并与克隆:告别concat()

    const arr1 = [1, 2];  
    const arr2 = [3, 4];  
    const merged = [...arr1, ...arr2]; // [1, 2, 3, 4]  
    const cloned = [...arr1];          // 浅拷贝  
    

    合并数组时无需嵌套结构,且浅拷贝操作更直观。

  3. 对象合并与属性覆盖:灵活构建数据

    const user = { name: 'Alice', age: 25 };  
    const job = { role: 'Engineer', age: 26 };  
    const profile = { ...user, ...job };  
    // 输出:{ name: 'Alice', age: 26, role: 'Engineer' }  
    

    后展开的对象属性会覆盖前者,适合配置合并或状态更新。

  4. 解构赋值:精准提取数据

    const [first, ...rest] = [1, 2, 3, 4];  
    // first=1, rest=[2, 3, 4]  
    const { name, ...details } = { name: 'Bob', age: 30, role: 'Designer' };  
    // details={ age:30, role:'Designer' }  
    

    结合解构语法,可快速分离目标数据和剩余部分。


相关文章

  • 函数新特性

    传多个参数的函数1、Rest and Spread 操作符:用来声明任意数量的方法参数 2、generator 函...

  • ES6:函数

    标签: rest spread 箭头函数 JavaScript ES6 前端 web本博客版权归本人和饥人谷所有...

  • 剩余部分&扩散特性- 读es2018-2019

    前言 ES提案中的Rest/Spread Properties 剩余部分操作符(...),仅用于数据解构和函数参数...

  • ES6 笔记 箭头函数

    箭头函数其实就是lambda函数,JavaScript中的匿名函数 多个参数时,参数外加上括号(或者使用rest ...

  • ES7特性

    ES7 没有this 箭头函数对比ES6 ES7 Spread & Rest Operator spread .....

  • TypeScript

    自动拆分字符串 参数类型 参数默认值 可选参数 Rest and Spread Generator方法 yield...

  • [JavaScript] Rest/Spread Propert

    Rest/Spread Properties,目前是Stage 3的特性。在使用Babel编译后,表现出了顺序相关...

  • 尾调用与尾递归---->节省内存--->解决堆栈溢出

    函数的扩展 rest参数 rest参数用于获取函数的多余参数,不需要使用arguments对象。rest参数搭配的...

  • ES6-数组方法及其实现

    1. 扩展运算符(spread) 扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将...

  • JavaScript函数、this以及闭包

    JavaScript笔记(三) 函数 理解函数 Javascript函数的参数与大多数其他语言中的函数的参数不同。...

网友评论

      本文标题:JavaScript 函数进阶之:Rest 参数与 Spread

      本文链接:https://www.haomeiwen.com/subject/ffubmjtx.html