一、var和let
下面的代码可以正常执行。
{
var x =1;
}
console.log(x);
结果为1。
下面的代码不能正常执行。
{
let x =1;
}
console.log(x);
VM610:4 Uncaught ReferenceError: x is not defined
at <anonymous>:4:13
二、let和const很相似
1、let和const的相同点:
① 只在声明所在的块级作用域内有效。
② 不提升,同时存在暂时性死区,只能在声明的位置后面使用。
③ 不可重复声明。
2、let和const的不同点:
① let声明的变量可以改变,值和类型都可以改变;const声明的常量不可以改变,这意味着,const一旦声明,就必须立即初始化,不能以后再赋值。
下面的用法是可以的,因为let声明的变量是可以修改或者重新定义的。
let x = 3;
x = 4;
下面的用法是错误的,因为const声明的变量是不可修改并且必须马上赋初值。
const x = 4;
x = 5;
相信有些人在学习过程中,因为手册把let和var拿出来放一起比较,所以可能把let和var以及const混淆。
千万注意:
let和var的比较是比较“声明”的问题
let 和 const 是值的修改问题
详情可以上w3school查看手册
参考:
var、let、const的区别以及用法
https://blog.csdn.net/weixin_61994154/article/details/123515475