1. let命令

let命令式ES6标准中新增的命令。

1.1 基本用法

  1. {
  2. let a = 10;
  3. var b = 1;
  4. }
  5. a // ReferenceError: a is not defined.
  6. b // 1

let声明的变量只在它所在的代码块有效。

1.2 不存在变量提升

var 命令会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined。
let就是为了解决这种问题,它所声明的变量一定要在声明后使用。

1.3 暂时性死区

暂时性死区的本质是,只要进入当前作用域,所要使用的变量就已经存在,但是不可获取,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。
let操作的出现让 typeof不再是一个百分之百安全的操作。

2. 块级作用域

3. const命令