1.promise
执行异步操作,promise有三种状态pending、resolved、rejected。promise对象有一个then方法,异步操作成功执行回调resolve;操作失败执行reject
2.async/await
3.generator
yied()代表暂停操作,next()代表执行操作
1-3属于执行异步回调地狱的三大手段
4.set结构
遍历数据解构的指针
ps:set和map的区别;set和list的区别
5.iterator
通过symbol.iterator定义迭代器,next()进行迭代
6.扩展运算符
7.剩余参数
不需要使用arguments对象了
8.解构赋值:数组解构和对象解构
9.数组新增方法:find,includes
find返回满足条件的第一项,没有返回undefined;
ps:es5中的forEach不返回值,遍历每一项;filter是返回符合条件的项;some找到满足条件的第一项,返回true或者false;map遍历数组的每一项,返回[true或false,true或false,true或false];every,所有项都满足条件返回true或者false;
incldes判断数组中是否包含某个值,返回布尔值;
10.箭头函数和普通函数的区别(附:箭头函数this的指向)
ps:箭头函数this指向:
11.块级作用域,let、const和var
ps:let、const和var的区别?
首先var存在变量提升,let和const无;
var可挂在window,let和const无;
let和const存在块级作用域,var无;
var可以对相同变量名可重复使用,let和const不可;
12.新的数据类型Symbol和Bigint
Symbol独一无二的值,例如Symbol('1')可作为Object中的key;
BigInt代表大范围的值,例如解决普通函数的范围问题;