Você pode falar sobre a diferença entre Objeto Global e Objetos Globais em JavaScript?

Feb 23 2023
Antes de responder à pergunta, vamos dar uma olhada nos objetos em JavaScript. Simplificando, um objeto é uma estrutura de dados que inclui dados e funções.
Olá, sou Hardy.

Antes de responder à pergunta, vamos dar uma olhada nos objetos em JavaScript.

Simplificando, um objeto é uma estrutura de dados que inclui dados e funções.

Normalmente, um objeto é referido como algo alocado na memória com base em sua definição em uma classe, mas no ECMAScript, os objetos não são baseados fundamentalmente em classes. Em vez disso, eles são criados por construtores com uma propriedade chamada protótipo.

Em JavaScript, os objetos podem ser divididos em vários tipos.

Objetos integrados são objetos definidos na especificação ECMAScript. Portanto, eles fornecem funcionalidades comuns em todo o aplicativo globalmente e não são fortemente influenciados pelo ambiente de tempo de execução do JavaScript, tornando-os disponíveis o tempo todo. Os exemplos incluem matemática, data, string, matriz, objeto, função e muito mais.

Objetos de host são objetos definidos no ambiente de host, em termos simples. Ambientes de host, como navegadores da Web e Node.js, fornecem objetos e funções específicos da plataforma, além do ECMAScript. Exemplos em navegadores da Web incluem janela, documento, XMLHttpRequest, imagem, áudio e muito mais.

Objetos definidos pelo usuário referem-se a objetos que os próprios desenvolvedores definem. Eles podem ser definidos usando literais de objeto, funções construtoras, classes, etc.

Quanto à questão de saber se Objeto Global e Objetos Globais significam a mesma coisa ou não, a resposta é diferente.

Objetos globais são os objetos integrados mencionados anteriormente.

O objeto global geralmente é integrado ao idioma ou ao ambiente do host.

Em um ambiente de navegador, o objeto global é chamado de “janela”, enquanto em um ambiente Node.js, ele é chamado de “global”, embora os nomes possam diferir dependendo do ambiente do host.

Para sua informação, existe também um conteúdo que padroniza o nome do objeto global como globalThis. (Confira no MDN )

Objeto Global e Objetos Globais possuem significados diferentes, então tome cuidado para não confundi-los.

Sinta-se à vontade para corrigir quaisquer equívocos ou compartilhar conhecimento sobre este tópico!