const声明的不是常量吗,为什么for..of..里面可以用const声明

const声明的不是常量吗,为什么for..of..里面可以用const声明

const声明的不是常量吗,为什么for…of…里面可以用const声明
for(const item of arr) {
console.log(item);
}

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,按照同学提供的代码,使用const声明变量i,代表着变量i的值不可以改变。i值是1,1<=10,符合条件,执行循环体,然后i++,在作用域下,改变i的值,所以就会出现报错。

视频中的例子,并没有在作用域下改变item的值,如果改变item的值,也是会报错的,例如:

http://img1.sycdn.imooc.com//climg/5f8a5a19096cc14904210168.jpg

控制台:

http://img1.sycdn.imooc.com//climg/5f8a5bce09b4afee05670163.jpg

好帮手慕星星 2020-10-15 17:33:37

同学你好,const定义会使for循环形成块级作用域 ,每一个作用域下面的item不会互相影响,所以不是重新赋值的,是不同的item。

祝学习愉快!

  • 提问者 saltedfishman #1
    那为什么for(const i = 1;i <= 10; i++){}循环会报错,这里也是块级作用域
    2020-10-17 09:21:22
saltedfishman 提问者 2020-10-15 17:07:10

这里的item不是被重新赋值吗

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师