1、let const 和var 的概念与区别
const引用数据类型可以改变
2、变量的结构赋值
3、变量的提升,暂时性死区
4、箭头函数及其this问题
箭头函数的this指向上一行
5、Symbol的概念及其作用
独一无二的值
参考文章
6、Set和Map数据结构
一个是值Map是键值对形式
参考文章
7、Proxy
解决跨域
8、Reflect对象
9、Promise !!!
Promise.all 如果有一个错误就返回错误
Promise.allSettled 可以拿到全部
参考文章
10、Iterator和for…of
11、for forEach for…in for…of map 方法区别与使用场景
for循环给循环变量赋值为数字类型,但它可以控制循环哪些元素,更加灵活
forEach一直到循环结束只能用break或者抛出错误打断 不会改变原数组
map简单数据类型不会改变原数组,复杂数据类型会
for in是ES5标准,遍历key.
for of是ES6标准,遍历value.
12、Generator及其异步方面的应用
应用:dva插件 封装接口
参考文章
13、async
Generator的语法糖
参考文章
14、异步方式比较
15、class基本语法及继承
16、模块加载方案比较 (CommonJS和Module)
1,模块依赖解决方式不同
es6 module与commonjs最本质的区别是两者对模块依赖的解决方式,es6 module是静态的而commonjs是动态的,es6在编译阶段既确定了模块依赖关系及模块导入导出的变量,而commonjs只有在运行阶段才能确定这些。
2,变量导出方式不同
在导入一个模块变量的时候es6 module导出的是变量的动态映射,既在当前模块改变变量会影响导出模块变量,在导出模块改变变量也会影响导入模块变量,因为两者指向的是同一个引用变量,而对commonjs模块变量来说在任一模块改变变量都不影响另一模块,因为引入模块仅仅是对导出模块变量的浅拷贝。