ECMAScript 6 ————学习笔记
其他
2018-11-29 10:01:11
阅读次数: 0
1、let
命令
- 用来声明变量,只在
let
命令所在的代码块内有效
- 没有变量提升
- 只要声明变量的代码块存在,这个变量就绑定在这个区域了,不再受外部影响,称为暂时性死区
- ECMA只有全局作用域和局部作用域,let使之有了块级作用域,用处:立即执行函数
- 允许在块级作用域内部声明函数,函数声明类似于
var
,而且该声明不会变量提升至代码顶部,但是会提升到全局作用域或函数作用域的头部,同时,函数声明还会提升到所在的块级作用域的头部。
- 考虑到环境导致的差距太大,应该避免在块级作用域中声明函数,如果非要声明,要写成函数表达式 而不是函数声明语句
2、const:只读常量
- const声明一个只读的常量,一但声明,就要立即初始化,否则会报错,不能留到以后赋值
- const常量和let声明相同,都只在声明所在的块级作用域内有效
- const常量没有提升,也存在暂时性死区,只能在声明的位置后面用
- const保证的并不是变量不可变,而是变量所指向的那个内存地址所保存的数据不得改变,对于简单的数据类型(数值,字符串,布尔值),值就保存在变量所指向的内存地址,因此等同于常量;而对于复杂类型的数据(对象和数组),变量所指向的内存单元,保存的只是指向实际数据的指针,const只能保证这个指针式固定的,而不能保证
转载自blog.csdn.net/PINK789/article/details/83347514