105. let和const关键字的区别,以及它们在作用域和变量声明方面的差异。

let和const都是在ES6中引入的新的变量声明方式。它们与传统的var关键字相比,在作用域和变量声明方面都有一些差异。https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=2d6077ad79aa408fb541e64c9f6e1ddf

作用域:let和const都具有块级作用域,而var关键字只有函数作用域和全局作用域。块级作用域意味着变量只在声明它们的块级语句中可见,而在其他语句中是不可见的。

变量声明:使用var声明的变量可以重复声明,并且不会报错,而let和const不能重复声明。这意味着在同一个作用域内,你不能声明两个相同名称的let或const变量。

变量提升:使用var声明的变量会有变量提升的特性,即变量可以在声明之前使用。而let和const声明的变量不具有变量提升,必须在声明之后才能使用。

初始化:使用var声明的变量在声明时不会自动初始化,默认值为undefined。而let和const声明的变量在声明时未赋值会报错,必须在声明时或之后将其初始化。

常量声明:const用于声明常量,一旦被赋值后,不能被重新赋值。let和var声明的变量可以重新赋值。

总的来说,let和const相对于var提供了更好的作用域控制和变量声明约束。推荐在使用变量时优先考虑使用let和const,尤其是在块级作用域内。如果变量不需要被重新赋值,可以使用const声明为常量。
全部评论

相关推荐

不愿透露姓名的神秘牛友
2025-12-17 16:48
今天九点半到公司,我跟往常一样先扫了眼电脑,屁活儿没有。寻思着没事干,就去蹲了个厕所,回来摸出手机刷了会儿。结果老板刚好路过,拍了我一下说上班别玩手机,我吓得赶紧揣兜里。也就过了四十分钟吧,我的直属领导把我叫到小隔间,上来就给我一句:“你玩手机这事儿把老板惹毛了,说白了,你可以重新找工作了,等下 HR 会来跟你谈。” 我当时脑子直接宕机,一句话都没憋出来。后面 HR 找我谈话,直属领导也在旁边。HR 说我这毛病不是一次两次了,属于屡教不改,不光上班玩手机,还用公司电脑看论文、弄学校的事儿。我当时人都傻了,上班摸鱼是不对,可我都是闲得发慌的时候才摸啊!而且玩手机这事儿,从来没人跟我说过后果这么严重,更没人告诉我在公司学个习也算犯错!连一次口头提醒都没有,哪儿来的屡教不改啊?更让我膈应的是,昨天部门刚开了会,说四个实习生里留一个转正,让大家好好表现。结果今天我就因为玩手机被开了。但搞笑的是,开会前直属领导就把我叫去小会议室,明明白白告诉我:“转正这事儿你就别想了,你的学历达不到我们部门要求,当初招你进来也没打算给你这个机会。”合着我没入贵厂的眼是吧?可我都已经被排除在转正名单外了,摸个鱼至于直接把我开了吗?真的太离谱了!
rush$0522:转正名单没进,大概率本来就没打算留你
摸鱼被leader发现了...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务