Var Let和Const三者的区别(面试经常问)
2020-02-16 17:24
477 查看
Var
- 可以变量提升
- 没有块级作用域
- 变量可以重复声明
Let
- 不存在变量提升
- 有块级作用域{}
- 声明的变量不能重复声明,不然会报错
//a.么有变量提升 console.log(lover); // lover is not defined let lover = 'Linda'; //b.不能重复声明 同名 变量 let a = 1; let a = 2; // 报错:Identifier 'a' has already been declared console.log(a); //c.有 块级作用域 if(true){ let num = 100; }
Const
- 声明常量,在程序运行中不能直接被修改,不然会报错
- 声明的时候一定要赋值,不然会报错
- 无法变量提升
- 无法重复声明
- 有块级作用域
const MAX_REQUEST = 100; // 1. 常量无法重新赋值 // const age1 = 100; // age1 = 101; // 常量 一旦赋值,不能改变! // console.log(age1); // 2. 常量只能也必须在 创建时赋值 // const age2; //报错: Missing initializer in const declaration // console.log(age2); // 3. 无法变量提升 // console.log(age3); // 报错: age is not defined // const age3 = 1; // 4.有 块级作用域 // if(true){ // const num4 = 100; // } // console.log(num4); // 报错: num is not defined // 5.无法重复声明 // const num5 = 1; // const num5 = 2; // Identifier 'num' has already been declared
- 点赞
- 收藏
- 分享
- 文章举报
![](https://g.csdnimg.cn/static/user-reg-year/1x/0.png)