1、let和const
造成块级作用域let:不能反复申明;不存在变量晋升;不影响作用域链const:肯定要赋初始值;个别常量应用大写;常量的值不能批改;对于数组和对象的元素的批改,不算做对常量的批改
2、解构赋值
对象和数组;属性解构用的少,办法解构用的多
3、模板字符串
``(反引号)容许在内容中间接呈现换行符;变量的拼接应用${}
4、扩大运算符
···,将数组转化为逗号宰割的参数序列
5、箭头函数
书写格局:() => {}1)箭头函数中的this是动态的(不存在this),不能扭转this指向2)不能作为构造函数去实例化对象3)不能用arguments变量(在函数外部保留实参)4)简写形式:省略(),形参有且只有一个;省略{},代码提只有一句,此时return也必须省略
6、迭代器
很多语言中都有迭代器的;iterator,es6应用for···of循环遍历;原生具备iterator接口的数据:array,set,map
7、对象属性简写
es6容许在{}间接写入变量和函数,作为对象的属性和办法;这个在前期的开发中会很多的用到,比方Vue实例中的methods中的函数,就能够简写,省去function关键字
8、es6容许给函数参数赋初始值
这种写法会很不便,如果有实参,则应用实参;如果没有实参,则应用初始值
9、promise
为了解决异步编程问题,见名知意,promise是承诺的意思,它外面装着一个将来肯定会产生的事件。首先创立一个promise实例化对象,承受一个函数类型的参数,该函数有两个参数,别离是resolve和reject;并且还有一个then办法来指定回调,then办法有两个参数,都是回调函数,如果是promise的状态是resolve,则执行then办法的第一个函数;如果是reject,则执行第二个函数。promise的catch办法,用来指定promise对象失败的回调。
10、类:class
class申明类;constructor定义构造函数初始化,固定写法,必须是constructor;extends继承父类;super继承父级属性;static定义静态方法和属性;父类的办法会主动继承;子类能够对父类的办法进行重写
11、模块化
import 和 export