变量提升

以前的时候,一提到变量就会说全局变量和局部变量,现在变量提升了,还有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
A journey of a thousand miles begins with a single step!
原文地址:https://www.cnblogs.com/qingfengweb/p/6674423.html