【ES6】

目录

  • [变量声明:let 和 const](#变量声明:let 和 const)
  • [箭头函数(Arrow Functions)](#箭头函数(Arrow Functions))
  • [模板字符串(Template Literals)](#模板字符串(Template Literals))
  • [解构赋值(Destructuring Assignment)](#解构赋值(Destructuring Assignment))
  • [扩展运算符(Spread Operator)和剩余参数(Rest Parameters)](#扩展运算符(Spread Operator)和剩余参数(Rest Parameters))
  • 类(Classes)
  • 模块化(Modules)
  • 迭代器(Iterators)与生成器(Generators)
  • [Promise 对象](#Promise 对象)
  • 新数组方法
  • [新集合类型:Map 和 Set](#新集合类型:Map 和 Set)
  • [默认参数值(Default Parameter Values)](#默认参数值(Default Parameter Values))
  • 增强的对象字面量

变量声明:let 和 const

let 允许你声明一个作用域被限制在块级的变量。

const 用于声明常量,其值不能被重新赋值。

箭头函数(Arrow Functions)

箭头函数提供了一种更简洁的语法来定义函数,并且不会创建自己的 this 上下文,而是从周围的作用域继承 this 值。

模板字符串(Template Literals)

模板字符串使用反引号(`)来定义,允许你在字符串中嵌入表达式。

解构赋值(Destructuring Assignment)

解构可以让你从数组或对象中提取数据到独立的变量中。

扩展运算符(Spread Operator)和剩余参数(Rest Parameters)

扩展运算符可以在函数调用/构造器调用时将数组展开为多个参数。

剩余参数则相反,它可以将不定数量的参数收集为一个数组。

类(Classes)

ES6 中引入了 class 关键字,使面向对象编程更加直观。

模块化(Modules)

使用 export 导出功能,以及 import 引入功能,支持大型应用中的代码组织和重用。

迭代器(Iterators)与生成器(Generators)

迭代器是一种特殊的对象,允许你遍历数据结构。

生成器函数可以暂停执行并稍后从中断处继续,这使得异步流程控制变得更简单。

Promise 对象

Promise 代表了未来可能完成也可能失败的操作,提供了更好的错误处理机制和链式调用的能力。

新数组方法

如 .find(), .findIndex(), .includes() 等,这些方法简化了对数组元素的搜索和操作。

新集合类型:Map 和 Set

Map 是一种键值对的集合,类似于其他语言中的字典或哈希表。

Set 是一种存储唯一值的集合,不允许重复的数据。

默认参数值(Default Parameter Values)

函数参数现在可以有默认值。

增强的对象字面量

对象字面量现在可以直接写计算属性名,并且可以通过简写方式直接设置方法。

相关推荐
别惊醒渔人1 小时前
Vue3 Diff 优化:最长递增子序列 LIS
前端·javascript·vue.js
颜酱1 小时前
07 | 把字段与指标同步到 Qdrant(生成阶段)
前端·人工智能·后端
用户059540174461 小时前
把AI长期记忆测试从手动验证换成pytest,2天揪出11个隐藏Bug
前端·css
lichenyang4532 小时前
从 Vite 空项目到 AIGC 图片工作台:我如何打通生图、任务轮询、生成库与 Canvas 动态特效
前端·人工智能
泡沫冰@3 小时前
上章节中文件的讲解
前端·网络·nginx
进击的丸子3 小时前
APP人脸识别增值版Harmony Demo实操与关键代码解析
前端·程序员·harmonyos
a1117763 小时前
唯美花朵风格的黑胶唱片音乐播放器
前端·css·css3
Hilaku4 小时前
工作 5 年后,决定你薪资上限的究竟是什么?
前端·javascript·程序员
爱分享的程序猿-Clark4 小时前
【前端分享】vue3 有 keep-alive属性吗?
前端
Revolution614 小时前
页面更新后为什么出现 Loading chunk failed:旧页面如何请求了已删除的构建产物
前端·面试·前端工程化