es6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。两者区别:
   1、let不存在变量提升:var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。按照一般的逻辑,变量应该在声明语句之后才可以使用。为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。
   2、let不允许重复声明:let不允许在相同作用域内,重复声明同一个变量。例如:
       // 报错
function func() {
  let a = 10;
  var a = 1;
}
 
// 报错
function func() {
  let a = 10;
  let a = 1;
}
 function func(arg) {
  let arg; // 报错
}
 
function func(arg) {
  {
    let arg; // 不报错
  }
}
  
Logo

前往低代码交流专区

更多推荐