Xin's blog Xin's blog
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
    • 组件与插件
    • CSS扩展语言
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架面试题汇总
  • 基本面试题
  • 进阶面试题
  • 其它
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 前后端联调
  • mock.js
  • 奇技淫巧
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)

Xin

英雄可不能临阵脱逃啊~
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
    • Vue
    • 组件与插件
    • CSS扩展语言
  • 学习笔记

    • 《JavaScript教程》笔记
    • 《JavaScript高级程序设计》笔记
    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript 从零实现 axios》
    • 《Git》学习笔记
    • TypeScript笔记
    • JS设计模式总结笔记
  • 前端框架面试题汇总
  • 基本面试题
  • 进阶面试题
  • 其它
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 前后端联调
  • mock.js
  • 奇技淫巧
  • 分类
  • 标签
  • 归档
关于
GitHub (opens new window)
  • HTML

  • CSS

  • JavaScript

    • 知识点

      • new命令原理
      • ES5面向对象
      • ES6面向对象
      • 多种数组去重性能对比
      • 比typeof运算符更准确的类型判断
      • 可选链操作符
      • 三点运算符
        • 扩展运算符(spread operator):
        • 剩余运算符(rest operator):
      • cookies,sessionStorage和localStorage的区别?
      • forEach()函数究竟会不会修改原数组?
      • 宏任务与微任务
      • Promise实现原理
      • this指向
      • 递归函数返回undefined
      • 使用JS的FileReader对象读取blob对象二进制数据
      • clipboard 剪切板属性
    • 方法

  • Vue

  • 组件与插件

  • css扩展语言

  • 学习笔记

  • 前端
  • JavaScript
  • 知识点
ctrlwin
2021-06-01

三点运算符

三点运算符用于操作数组,有两种层面:

# 扩展运算符(spread operator):

扩展运算符,和字面意思一样,就是把东西展开来。array和object都可以使用。

下面是🌰:

// array
let a = [2, 3, 4]
let b = [1, ...a, 5, 6]  // [1, 2, 3, 4, 5, 6]

//object
let obj = {b: 2, c: 3}
let obj2 = {a: 1, ...obj, d: 4} // {a:1, b:2, c:3, d:4}
1
2
3
4
5
6
7

# 剩余运算符(rest operator):

剩余运算符,是解构的一种,可以将剩余的东西放到一个array里面赋值给它。常用于函数参数传递。

下面是🌰:

function fn(n, ...args) { // ...args集合了剩余所有的参数组成参数数组,所以不管传入多少参数都能拿到
    console.log(n) // 1
    console.log(args) // [2, 3, 4, 5]
}
fn(1, 2, 3, 4, 5)

function fn(n, ...args, x){ // 注意!这里会报错,因为三点作为rest参数时,其后不能再出现任何参数!
    ...
}
1
2
3
4
5
6
7
8
9
在GitHub上编辑 (opens new window)
#js
上次更新: 2/23/2022, 5:36:03 PM

← 可选链操作符 cookies,sessionStorage和localStorage的区别?→

最近更新
01
createElement函数创建虚拟DOM
05-26
02
clipboard 剪切板属性
05-26
03
vue的权限管理
05-16
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Xin | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×