欢迎来到ECMAScript6!
1.长话短说,ES6新增了let和const命令,它们的特点如下
一.let命令:
1.let命令会产生块级作用域,而var只有函数作用域和全局作用域
2.let命令不会变量提升
3.let命令不能重复声明
4.let命令声明即产生暂时性死区(TDZ),说白了在它的作用域之前不能操作使用它
5.之前只能用闭包强行制造局部作用域的var直接被let的块级作用域替代
6.let的出现表示typeof也不再是安全的操作,暂时性死区前任何尝试操作都会报错
- 建议阅读阮一峰的《ES6标准入门》
二.const命令:
1.const命令也会产生块级作用域
2.const命令声明即赋值,所谓初始化只能有一次
3.const命令保存的是常量,无法被修改,不用再大写伪造常量了,哈哈
4.大部分互联网巨头约定函数声明统一用const命令
5.const只保证指针指向固定
- 建议阅读阮一峰的《ES6标准入门》
三.ES6声明变量的6种形式(阮神点拨)
1.ES5中的var(这个能想到)
2.ES5中的function(在JS中函数是一等公民的优越感又出来了!)
3.ES6中的let
4.ES6中的const
5.ES6中的class
6.ES6中的import