Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. globalThis

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

globalThis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨janeiro de 2020⁩.

A propriedade globalglobalThis retorna um objeto global de nível superior.

Experimente

function canMakeHTTPRequest() {  return typeof globalThis.XMLHttpRequest === "function";}console.log(canMakeHTTPRequest());// Expected output (in a browser): true

Sintaxe

globalThis

Descrição

Historicamente, o acesso ao escopo global exigiu uma sintaxe diferente em diferentes ambientes JavaScript. Na web você pode usarwindow,self ouframes - porém emWeb Workers somenteself funcionará. Em Node.js nada disso funciona e você deve usarglobal.A palavra-chavethis poderia ser usada dentro de funções em execução no modosloppy, masthis seráundefined em módulos, e dentro de funções em execução nostrict mode.

A propriedadeglobalThis fornece uma maneira padrão de acessar o objeto global entre ambientes. Ao contrário de propriedades semelhantes, comowindow eself, é garantido que funcione em contextoswindow enon-window. Dessa forma, você pode acessar o objeto global de maneira consistente sem precisar saber em qual ambiente o código está sendo executado.

Para ajudá-lo a lembrar o nome, lembre-se que no escopo global, o valor dethis églobalThis.

Nome

Várias outras opções de nomes populares, comoself eglobal foram removidas da discussão devido ao seu potencial em quebrar a compatibilidade com o código existente.

Exemplos

Antes deglobalThis, a única maneira confiável de obter o objeto global para um ambiente eraFunction('return this')(). No entanto, isso causa violaçõesCSP em algumas configurações, entãoes6-shim usa uma verificação como essa, por exemplo:

js
var getGlobal = function () {  if (typeof self !== "undefined") {    return self;  }  if (typeof window !== "undefined") {    return window;  }  if (typeof global !== "undefined") {    return global;  }  throw new Error("unable to locate global object");};var globals = getGlobal();if (typeof globals.setTimeout !== "function") {  // sem setTimeout neste ambiente!}

ComglobalThis disponível, a busca global adicional entre ambientes não é mais necessária:

js
if (typeof globalThis.setTimeout !== "function") {  // sem setTimeout neste ambiente!}

Especificações

EspecificaçãoStatusComentário
globalThis proposalStage 3

Compatibilidade com navegadores

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp