ES6——let、var、const

let、var、const

let定义的变量只在代码块里面生效,例如for循环用let去定义i,计数器i只在for循环体内有效,在循环体外引用就会报错

for (let i = 0; i < 10; i++) {
  // ...
}

console.log(i);
// ReferenceError: i is not defined

如果此处用var的话输出是10;


变量提升

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

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


const

const不能重复命名,和let一样只在声明的块级作用域生效

你可能感兴趣的:(ES6——let、var、const)