Atualizado: 02/01/2025

Objeto global e Variáveis Globais - Node.js

Node.js fornece um objeto especial chamado global, que oferece acesso a variáveis e funções globais, ou seja, acessíveis a partir de qualquer módulo da aplicação. Um exemplo análogo a este objeto no JavaScript para navegadores é o objeto window. Todos os objetos globais disponíveis podem ser consultados na documentação.

Vamos ver um exemplo. Criaremos o seguinte módulo, greeting.js:

const currentDate = new Date();
  
global.date = currentDate;
      
module.exports.printMessage = function() {

  const hour = currentDate.getHours();
  if (hour >= 18) {
      console.log("Boa noite,", global.username);
  } else if (hour >= 12) {
      console.log("Boa tarde,", username);
  } else {
      console.log("Bom dia,", username);
  }
}

Aqui, primeiramente definimos a variável global date: global.date = currentDate.

Em seguida, acessamos a variável global username, que será definida externamente. Podemos acessar a variável global username através do objeto global: global.username, ou simplesmente pelo nome username, já que a variável é global.

Agora vamos definir o seguinte arquivo de aplicação, app.js:

const greeting = require("./greeting");
 
global.username = "Programício;
  
global.console.log(date);
greeting.printMessage();

Neste arquivo, definimos a variável global username, que será utilizada no módulo greeting.js. Também exibimos no console a variável global date. Além disso, todas as funções e objetos globais, como console, também estão disponíveis dentro de global, então podemos escrever tanto global.console.log() quanto simplesmente console.log().

Vamos executar o arquivo app.js:

c:\app> node app.js
2023-11-21T17:32:19.063Z
Boa tarde, Programício

No entanto, sempre que possível, é recomendado evitar a definição e o uso de variáveis globais, preferindo criar variáveis encapsuladas dentro de módulos individuais.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com