ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。
let关键字允许你声明一个作用域或被限制在块级中的变量、语句或者表达式。
与var不同的是,它声明的变量只能是全局或者整个函数块的。换句话,块级 == { }
let 声明的变量只是在其声明的块或者子块中可用,这一点,与var相似。二者的主要区别在于var声明的变量的作用域是整个封闭函数,而let声明的作用域是块。
function varTest() {
var x = 1;
if (true) {
var x = 2; // 同样的变量!
console.log(x); // 2
}
console.log(x); // 2
}
function letTest() {
let x = 1;
if (true) {
let x = 2; // 不同的变量
console.log(x); // 2
}
console.log(x); // 1
}
