ES6新增扩展
专题简介
ES6新的应用
var
、let
、const
的区别和使用
var
- 全局变量,挂载window下的,没有块级作用域
- 申明提升
- 变量覆盖
let
- 块级作用域
- 没有声明提升
- 定义的时候可以不赋初始值
const
- 和
let
一样块级作用域 - 没有声明提升,没有变量覆盖
- 定义的时候需要赋值,定义之后不能修改值
解构赋值的作用
- 数组互换位置
- 数组去重,解构 +
new Set()
箭头函数和普通函数的区别
- 箭头函数没有this,它的this是他定义的上下文决定的
- 箭头函数不能作为构造函数
- 箭头函数不能通过bind/apply/call改变this的指向
- 箭头函数不绑定arguments ,...剩余参数
- 箭头函数不具有prototype原型对象,不具有super,不有new