ECMAScript 6 ————学习笔记

1、let命令

  • 用来声明变量,只在let命令所在的代码块内有效
  • 没有变量提升
  • 只要声明变量的代码块存在,这个变量就绑定在这个区域了,不再受外部影响,称为暂时性死区
  • ECMA只有全局作用域和局部作用域,let使之有了块级作用域,用处:立即执行函数
  • 允许在块级作用域内部声明函数,函数声明类似于var,而且该声明不会变量提升至代码顶部,但是会提升到全局作用域或函数作用域的头部,同时,函数声明还会提升到所在的块级作用域的头部。
  • 考虑到环境导致的差距太大,应该避免在块级作用域中声明函数,如果非要声明,要写成函数表达式 而不是函数声明语句

2、const:只读常量

  • const声明一个只读的常量,一但声明,就要立即初始化,否则会报错,不能留到以后赋值
  • const常量和let声明相同,都只在声明所在的块级作用域内有效
  • const常量没有提升,也存在暂时性死区,只能在声明的位置后面用
  • const保证的并不是变量不可变,而是变量所指向的那个内存地址所保存的数据不得改变,对于简单的数据类型(数值,字符串,布尔值),值就保存在变量所指向的内存地址,因此等同于常量;而对于复杂类型的数据(对象和数组),变量所指向的内存单元,保存的只是指向实际数据的指针,const只能保证这个指针式固定的,而不能保证

猜你喜欢

转载自blog.csdn.net/PINK789/article/details/83347514