我正在阅读Nodejs API,我对缓冲区的迭代感到困惑:
for (const b of buf10) {
console.log(b)
}
const
用于声明常量,那么为什么要使用const
代替let
?
答案 0 :(得分:6)
因为b
是循环范围中的常量。请注意,let
和const
在ES6中具有阻止范围。每次迭代都会创建一个新变量,该变量将在其范围内保持不变。
答案 1 :(得分:2)
const用于声明常量,那么为什么要使用const而不是let?
因为您可以使用var
let
或const
进行声明,但行为不同。
在这种情况下,
for (const b of buf10) {
console.log(b)
}
因为每次迭代都会得到一个新的const b并在当前迭代之后结束。
总结如果你事先知道你不打算修改循环范围内的变量,你可以安全地去做。
如果您尝试修改循环内的b
,则会发现错误。