假设我有这个快速应用程序,并且想在顶部添加一个全局变量
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'是一个好习惯吗?
答案 0 :(得分:3)
在您的情况下(Node.js),var
和let
都不构成全局范围变量;两者都会创建一个模块作用域变量(可在该模块内部访问,但不能在其他模块中访问)。这可能就是您想要的(在这种情况下,如今let
通常是首选,var
应该委托给历史记录);但事实并非如此,唯一的方法就是直接赋值:
global.globalScopeVariable = 123;
答案 1 :(得分:1)
如果可以重新分配变量,则使用let
,否则使用const
。您不必再为var
操心了。
您始终可以围绕现代JavaScript中的变量声明考虑以下强大的主规则。
var
!const
!let
!