const定义的常量在for循环里面可变?

let a = 1;
const b = a;
a = 2;
console.log(a)    //2
console.log(b)    //1

于是const定义的常量不会被重新赋值,除非是对象类型,那这样子?

for(let a = 1; a < 5; a++){
    const b = a;
    console.log(b) // 1 2 3 4 undefined
}

为毛 for循环里面 const 可以被重新赋值?

感谢!

阅读 5.3k
2 个回答

一次for循环结束,常量b的生命周期就结束了,下一次for循环的时候,又new了一个新的常量b

块级作用域、生命周期

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题