首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迭代中的ES6常量使用情况

迭代中的ES6常量使用情况
EN

Stack Overflow用户
提问于 2017-06-21 15:15:12
回答 2查看 129关注 0票数 2

我正在阅读Nodejs API,我对buffer的迭代感到困惑:

代码语言:javascript
复制
for (const b of buf10) {
  console.log(b)
}

const用于声明常量,为什么要使用const而不是let

EN

回答 2

Stack Overflow用户

发布于 2017-06-21 15:26:21

因为b是循环作用域中的常量。请记住,letconst在ES6中具有块作用域。每次迭代都会创建一个新变量,该变量将在其作用域中保持不变。

票数 6
EN

Stack Overflow用户

发布于 2017-06-21 15:33:46

常量是用来声明常量的,为什么要用常量而不是let呢?

因为您可以将varletconst用于声明目的,但是它们的行为是不同的。

在这种情况下,

代码语言:javascript
复制
for (const b of buf10) {
  console.log(b)
}

这是因为对于每一次迭代,你都会得到一个新的const b,并在当前迭代之后结束。

结论是,如果你事先知道你不会修改循环范围内的变量,你就可以安全地去做了。

如果您试图修改循环中的b,您将看到一个错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44669196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档