JavaScript中var、let、const的区别

JavaScript中var、let、const的区别
(1)var全局声明变量,let,const声明的变量只在let,const所在代码块内有效 ;
(2) var存在变量提升,即变量可以在声明之前使用,值为undefined ;

console.log(a);//undefined 
var a = 2;

等价于

var a;
console.log(a);
a = 2;

let和const声明的变量必须在声明后才可以使用,否则报错,查过别人的博客有人写let和const也存在变量提升,但是他们的确表现为变量不提升,一般也认为他们不存在变量提升;

console.log(a);//报错
let a = 2;

(3)var可以重复定义一个变量,后面覆盖前面的,而let不允许重复定义一个变量,否则报错;

var a=1;
var a=2;
console.log(a);//2
let b=1;
let b=2;
console.log(b)//报错

(4)let和const凡是在声明变量之前使用变量就会报错,称为暂时性死区;
(5)const声明的是只读的常量,一旦声明,常量的值不可改变,并且声明的同时必须初始化。

const PI = 3.14;
 PI = 3;//报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值