Resumo : neste tutorial, você aprenderá sobre o globalThis
objeto JavaScript.
Introdução ao JavaScript globalThis objeto
ES2020 introduziu o globalThis
objeto que fornece uma maneira padrão de acessar o objeto global em todos os ambientes.
Historicamente, o JavaScript tinha um objeto global com nomes diferentes em ambientes diferentes.
Nos navegadores da web, o objeto global é window
ou frames
.
No entanto, a API Web Workers não possui o window
objeto porque não possui contexto de navegação. Conseqüentemente, a API Web Workers é usada self
como um objeto global.
O Node.js, por outro lado, usa a global
palavra-chave para fazer referência ao objeto global.
Ambiente | Global |
---|---|
Navegadores da Web | esse |
Trabalhadores da Web | auto |
Node.js | global |
Se você escrever código JavaScript que funcione em vários ambientes e precise acessar o objeto global, será necessário usar sintaxes diferentes, como , window
, ou .frames
self
global
Para padronizar isso, o ES2020 introduziu o globalThis
que está disponível em todos os ambientes.
Por exemplo, o código a seguir verifica se o ambiente atual oferece suporte à API Fetch:
const canFetch = typeof globalThis.fetch === 'function';
console.log(canFetch);
Linguagem de código: JavaScript ( javascript )
O código verifica se a fetch()
função é uma propriedade do objeto global. Nos navegadores da web, the globalThis
é o window
objeto. Portanto, se você executar esse código em um navegador moderno, canFetch
será true
.
O código a seguir retorna verdadeiro no navegador da web:
globalThis === window
Linguagem de código: JavaScript ( javascript )
Saída:
true
Linguagem de código: JavaScript ( javascript )
Resumo
- Use o
globalThis
objeto para fazer referência ao objeto global para fazer o código funcionar em todos os ambientes.