以前的时候,一提到变量就会说全局变量和局部变量,现在变量提升了,还有let,const;
1, var声明
if (true) {
var fruits = 'apple';
}
console.log(fruits); //apple
2, let 块级声明
{
let fruits = 'apple';
}
console.log(fruits); //fruits is not defined
let声明的是一个块级作用域,块外的函数获取不到块内的变量;
3, const 恒量声明
const fruits = 'apple';
console.log(fruits);
const fruits = 'banana'; //error: Duplicate declaration "fruits" 重复声明变量
console.log(fruits);
const不能对一个变量声明多次,只能声明一次;
再比如:
const fruits = [];
fruits.push('apple');
fruits.push('banana');
console.log(fruits); //["apple", "banana"]
fruits = []; //error: "fruits" is read-only