ES6——let、var、const
2018-11-23 本文已影响0人
天才ok酱
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一样只在声明的块级作用域生效