ES6中的const,let和ES5中的var区别:

本文详细介绍了JavaScript中的let和const关键字。let不允许变量重复声明,并在块级作用域内生效,不进行变量提升。const必须初始化且常量不可修改,同样具有块级作用域。在使用中应注意两者的区别和应用场景。

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

一、let的声明:


let a;

let b =46;

let c ='xiguabuaimeizi';

let d =["xiguabuaimeizi"]

(1)该变量不能重复声明:

let first = 'xiguabuaimeizi' let first ='zbj'

重复声明则会报错

但在var中却不受影响

(2)在块级作用域中的区别:

let在块级作用域中受影响,比如:

{

let first ="xiguabuaimeizi"

}

console.log(first)

这里已经在{}外面调用,则会报错,只有在{}里面才不会报错,

但用var则不受影响,在es5中并没有块级作用域这一用法,let在作用域链上可以正常使用:

{

let first ='hhh'

function f (){

console.log(first)

}

}

f()

这里调用不受作用域的影响

(3)let也没有var的变量提升: 在var中则可以变量提升:

console.log(first)

var first ='hahaha'

这样是可以正常使用的,只是会报underfined,而let则会报错

二、const:

(1)const必须要赋值,不然报错

const First;(会报错)

const First='hhh'(正常使用)

(2)需要注意:const xxx声明的xxx最好要大写,但没有强制性要求;

const FIRST='kkk'

(3)常量不能修改,需要修改则用let:

const first ='kk'

first='hh'(这样会报错)

但如果在对象和数组中修改值,则不会报错:

const arr=['dd','gg','ss']

arr[0]='kk'

这样不会报错,他只是改变数组里面的局部而已

(4)块级作用域:

const在块级作用域中受影响,比如:

{

const first ="xiguabuaimeizi"

}

console.log(first)

这里已经在{}外面调用,则会报错,只有在{}里面才不会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西瓜不爱梅汁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值