ES6是ECMAScript的第六次修订,于2015年完成
1、let声明变量和const声明常量,都是块级作用域。
2、箭头函数 函数定义不再使用关键字function(),而是利用了()=>来进行定义
3、模板字符串 用(`),可以作为普通字符串使用,也可以用来定义多行字符串
4、解析赋值
数组解析赋值:只要等号两边的模式相同,左边的变量就会被赋予对应的值
对象解析赋值:先找同名属性,再赋给对应的变量,赋值的是后者,不是前者
5、for of 循环可以遍历数组、Set、Map结构、某些类似数组的对象,对象,以及字符串
6、import export 导入导出
将JS代码部分分割成不同功能的小块进行模块化,将不同功能的代码分别写在不同的文件中,各模块只需导出公共接口部分,然后通过模块的导入的方式可以在其他地方使用
7、set数据结构 所有的数据都是唯一的,没有重复的值,是一个构造函数
8、… 展开运算符
可以将数组或对象里面的值展开,也可以将多个值收集为一个变量
9、修饰器@
decorator是一个函数,用来修改类甚至于是方法的行为,修饰器本质就是编译时执行的函数
10、class类的继承 通过extends关键字实现继承
class ColorPoint extends Point {}
11、使用async、await,搭配promise,可以通过编写形似同步的代码来处理异步流程,async用于申明一个function是异步的,而await用于等待一个异步的方法来执行完成
12、promise是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理、强大。
13、Symbol 是一种基本类型,symbol通过调用symbol函数产生,它接收一个可选的名字参数,该函数返回的symbol是唯一的
14、proxy代理 使用代理(Proxy)监听对象的操作,然后可以做一些相应事情