ES6之 let and const

本文探讨了JavaScript中块级作用域的概念,详细对比了let和const的特性与使用场景,强调了在现代JS开发中正确使用这两种关键字的重要性。

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

let特点:有作用域的变量

const特点:常量

块级作用域:

          在ES6中在{}内定义的变量{}外无法访问,其子集可以访问;

          然而var无法达到这种效果;

          因此有了 let和const;

当js引擎扫描代码时:

          1.var声明:变量声明整体提升

          2.let声明:将a放到TDZ当中

          3.如果使用的变量在TDZ中,就会报错

          4.当let变量被赋值时将变量从TDZ中拿出

 

let:变量

          let的特点是不会变量提升,而是被所在当前块中

          先声明,在访问是let的唯一正确的使用方法

const:常量

          声明常量,一旦声明,不可更改,而且常量必须初始化赋值

          const虽然是常量,不允许修改默认赋值,但是如果定义的是对象Object,那么可以修改对象内部的属性值包括新增删除键值对也是可以的

 

let和const异同:

          相同点:const和let都在当前块内有效区,执行到块外会被销毁,也不存在变量提升,不能重复声明

          不同点:const不能再赋值,let声明的变量可以重复赋值

 

实践:

          在开发过程中,选择var、let还是const,取决于我们的变量是不是需要更新,通常我们希望变量保证不被恶意篡改,而使用大量的const,声明一个对象的时候,也推荐使用const,当你需要修改声明的变量值时,使用let,var能用的场景都可以使用let替代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值