var let const区别
1、var声明变量存在变量提升,let和const不存在变量提升
console.log(a); // undefined ===> a已声明还没赋值,默认得到undefined值
var a = 100;
console.log(b); // 报错:b is not defined ===> 找不到b这个变量
let b = 10;
console.log(c); // 报错:c is not defined ===> 找不到c这个变量
const c = 10;
2、let、const都是块级局部变量
顾名思义,就是只在当前代码块起作用
{
let a = 1
}
console.log(a) // undefined
const 的特性和 let 完全一样,不同的只是
(1)声明时候必须赋值
(1)声明时候必须赋值
(2)只能进行一次赋值,即声明后不能再修改
(3)如果声明的是复合类型数据,可以修改其属性
3、同一作用域下let和const不能声明同名变量,而var可以