1、ES6常量及变量的声明const、let
ES6 新增了let命令来声明变量;const用来声明常量。
ES6新增的let和const拥有 块级作用域 ;ES5只有 全局作用域 和 函数作用域
const与var区别:
- var声明的变量可以重复声明;const不允许重复声明
- var声明的变量属于window顶层对象; - const声明的变量不属于(避免污染全局变量)
- var存在变量提升;const不存在变量提升,必须先声明后使用
- const存在暂时性死区
- const拥有块级作用域
let的特点:
- 不允许重复声明
- 不属于Windows顶层对象
- 不存在变量提升
详情参考:https://blog.youkuaiyun.com/qq_43628158/article/details/121179831
2、箭头函数
var fun = function(){
console.log('函数');
}
//等价于下面箭头函数
var fun2 = ()=>{
console.log('箭头函数');
}
- 箭头函数不会创建自己的上下文环境,没有this指向
- 箭头函数是一个匿名函数
- 箭头函数没有arguments对象(正常函数,arguments是一个对应于传递给函数的参数的类数组对象,arguments[0]对应第一个参数,以此类推)
- 使用前请检查浏览器是否支持es6
详解参考:https://blog.youkuaiyun.com/qq_43628158/article/details/121675856