首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >节点中的const,在不同的区块

节点中的const,在不同的区块
EN

Stack Overflow用户
提问于 2016-06-02 10:40:18
回答 2查看 86关注 0票数 3

有时,当Node看到这样的代码时,我会看到它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (true) {
    const z = 'foo';
} else {
    const z = 'bar';
}

Node说z已经声明为常量。但是既然这是一个if-否则,Node到底在什么时候看到了这两个声明?Node中的eval操作是否以某种方式捕捉到了这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-02 11:06:36

节点4和5对const的支持不完全。缺少的特性之一是支持严格模式之外的块范围。

更多信息,在这个支持表。

票数 3
EN

Stack Overflow用户

发布于 2016-06-02 11:05:53

在Node v6之前,他们实现了规范的早期草案,其中const变量是块作用域。在相同的范围内以相同的名称声明两个const变量会导致错误,但是在循环中声明const变量的行为很奇怪:常量从第一个赋值中获得值。任何进一步的转让都没有效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for (var i = 0; i < 3; i++) {
    const j = i;
    console.log(j)l // prints 0 all three times in node 5.x
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37599774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文