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.4k
2 个回答

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

块级作用域、生命周期

推荐问题