首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你应该在全局作用域中使用'var‘还是'let’?

问你应该在全局作用域中使用'var‘还是'let’?
EN

Stack Overflow用户
提问于 2018-08-14 12:27:19
回答 2查看 1.6K关注 0票数 7

假设我有一个express应用程序,并希望在顶部添加一个全局变量

代码语言:javascript
复制
import express from 'express';

const app = express();

// var globalScopeVariable = 123;

app.get('/', (req, res) => {
  // home page
});

app.get('/create/:message', (req, res) => {
  //  add block
});

app.get('/add/:peerPort', (req, res) => {
  // add peer
});

在这种情况下使用'var‘或'let’是不是一种好的做法?

EN

回答 2

Stack Overflow用户

发布于 2018-08-14 12:37:22

在本例中(Node.js),var和let都不会创建全局作用域变量;两者都会创建一个模块作用域变量(可在此模块中访问,但不能在其他模块中访问)。这可能就是您想要的(在这种情况下,现在通常首选let,var应该成为历史);但如果不是这样,创建真正的全局作用域变量的唯一方法就是直接赋值:

代码语言:javascript
复制
global.globalScopeVariable = 123;
票数 3
EN

Stack Overflow用户

发布于 2018-08-14 12:37:54

如果您的变量可以重新赋值,则使用let,否则使用const。您不必再为var操心了。

在现代JavaScript中,您可以始终考虑以下有关变量声明的强大主规则。

  • 尽快停止使用var!
  • 尽可能使用const!
  • 仅在必要时使用let!
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51833714

复制
相关文章

相似问题

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