ES6 let 命令

不存在变量提升
var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。


死区

只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响

var tmp = 123;

if (true) {
  tmp = 'abc'; // ReferenceError
  let tmp;
}

ES6中 在let申明变量前 用到就会报错

typeof也会报错 变得并不安全

let不能重复声明

一个作用域 只能有一个同名的let变量


猜你喜欢

转载自blog.csdn.net/t1753867136/article/details/80276752
今日推荐