javascript中var 、let 、const之间的区别

本文详细探讨了JavaScript中var、let和const的区别,包括变量提升、可重复声明、作用域以及赋值规则。var的特殊性在于声明提升和全局作用域,let则引入块级作用域且不允许重复声明,const强调常量性质,声明即赋值且值不可变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

亲爱的小伙伴,你还在寻找js中var、let、const之间有哪些区别吗,下边我就来分享一些自己对var、let、const这三者之间的区别的理解把,希望可以帮助到你哟!

1.var

特点:1.变量声明提升 2.同一变量可以重复声明 3.没有块级作用域

1.1变量声明提升

在使用var声明a变量之前打印a变量

打印结果为undefined

 这就证明了var所声明的变量发生了变量声明提前,相当于

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

1.2同一变量可以重复声明

在全局中重复声明a变量

最终打印结果为3

 

1.3没有块级作用域

在代码块中使用var声明a变量

但仍然可以打印出a变量的值,这就说明a变量没有块级作用域

2.let

特点:1.变量声明不会提升 2.同一变量不可重复声明 3. 拥有块级作用域

2.1 变量声明不会提升

在使用let声明的a变量之前打印a

结果报错,说明le变量声明不会提升

2.2 同一变量不可重复声明

使用let重复声明a变量,如下图可见,a变量不可重复声明

2.3 拥有块级作用域

在代码块中使用let声明a变量

打印结果报错 “a is not defined”,说明外部无法访问代码块当中的a变量,即说明let所声明的变量具有块级作用域

3.const

特点:1.变量声明不会提升 2.同一变量不可重复声明 3.拥有块级作用域 4.变量在声明时就需要赋值,且变量的值不可修改。

1.变量声明不会提升

在使用const声明a变量之前,打印a变量

结果报错,说明const变量声明不会提升

2.同一变量不可重复声明

使用const重复声明a变量,如下图可见,a变量不可重复声明

3.拥有块级作用域

在代码块中使用const声明a变量

打印结果报错 “a is not defined”,外部无法访问到代码块中的a变量,说明const声明的变量具有块级作用域。

4.变量在声明时就需要赋值,且变量的值不可修改。

如下图,在使用const声明a变量时,不为a赋值,代码提示错误,说明const在声明变量时就需要赋值。

在使用const声明a变量并初始化变量的值为10,而后修改a变量的值为5

打印结果报错,说明使用const声明的变量的值不可修改

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值