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