您应该在全局范围内使用“var”还是“let”?

问题描述 投票:0回答:2

假设我有这个快速应用程序,并且想在顶部添加一个全局变量

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”是个好习惯吗?

javascript ecmascript-6
2个回答
4
投票

在您的情况(Node.js)中,

var
let
都不会创建全局范围变量;两者都会创建一个模块范围变量(可以在该模块内部访问,但不能在其他模块中访问)。这可能就是您想要的(在这种情况下,现在通常首选
let
,而
var
应该成为历史);但如果不是,创建真正的全局范围变量的唯一方法是直接赋值:

global.globalScopeVariable = 123;

2
投票

如果您的变量可以重新分配,则使用

let
,否则使用
const
。您再也不用担心
var
了。

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

  • 尽快停止使用
    var
  • 尽可能使用
    const
  • 仅在确实需要时才使用
    let
© www.soinside.com 2019 - 2024. All rights reserved.