Objetos Globais
Esses objetos estão disponíveis em todos os módulos.
As seguintes variáveis podem parecer globais, mas não são. Elas existem apenas no escopo dos módulos CommonJS:
Os objetos listados aqui são específicos do Node.js. Existem objetos integrados que fazem parte da própria linguagem JavaScript, que também são acessíveis globalmente.
Classe: AbortController
[Histórico]
Versão | Mudanças |
---|---|
v15.4.0 | Não é mais experimental. |
v15.0.0, v14.17.0 | Adicionado em: v15.0.0, v14.17.0 |
Uma classe de utilidade usada para sinalizar o cancelamento em APIs selecionadas baseadas em Promise
. A API é baseada na Web API AbortController
.
const ac = new AbortController();
ac.signal.addEventListener('abort', () => console.log('Abortado!'),
{ once: true });
ac.abort();
console.log(ac.signal.aborted); // Imprime true
abortController.abort([reason])
[Histórico]
Versão | Mudanças |
---|---|
v17.2.0, v16.14.0 | Adicionado o novo argumento opcional reason. |
v15.0.0, v14.17.0 | Adicionado em: v15.0.0, v14.17.0 |
reason
<any> Um motivo opcional, recuperável na propriedadereason
doAbortSignal
.
Aciona o sinal de aborto, fazendo com que o abortController.signal
emita o evento 'abort'
.
abortController.signal
Adicionado em: v15.0.0, v14.17.0
- Tipo: <AbortSignal>
Classe: AbortSignal
Adicionado em: v15.0.0, v14.17.0
- Estende: <EventTarget>
O AbortSignal
é usado para notificar os observadores quando o método abortController.abort()
é chamado.
Método estático: AbortSignal.abort([reason])
[Histórico]
Versão | Mudanças |
---|---|
v17.2.0, v16.14.0 | Adicionado o novo argumento opcional reason. |
v15.12.0, v14.17.0 | Adicionado em: v15.12.0, v14.17.0 |
reason
: <any>- Retorna: <AbortSignal>
Retorna um novo AbortSignal
já abortado.
Método estático: AbortSignal.timeout(delay)
Adicionado em: v17.3.0, v16.14.0
delay
<number> O número de milissegundos a esperar antes de acionar o AbortSignal.
Retorna um novo AbortSignal
que será abortado em delay
milissegundos.
Método estático: AbortSignal.any(signals)
Adicionado em: v20.3.0, v18.17.0
signals
<AbortSignal[]> OsAbortSignal
s dos quais compor um novoAbortSignal
.
Retorna um novo AbortSignal
que será abortado se algum dos sinais fornecidos for abortado. Seu abortSignal.reason
será definido como aquele que causou o aborto dos signals
.
Evento: 'abort'
Adicionado em: v15.0.0, v14.17.0
O evento 'abort'
é emitido quando o método abortController.abort()
é chamado. O callback é invocado com um único argumento de objeto com uma única propriedade type
definida como 'abort'
:
const ac = new AbortController();
// Use a propriedade onabort...
ac.signal.onabort = () => console.log('abortado!');
// Ou a API EventTarget...
ac.signal.addEventListener('abort', (event) => {
console.log(event.type); // Imprime 'abort'
}, { once: true });
ac.abort();
O AbortController
com o qual o AbortSignal
está associado só acionará o evento 'abort'
uma vez. Recomendamos que o código verifique se o atributo abortSignal.aborted
é false
antes de adicionar um ouvinte de evento 'abort'
.
Quaisquer listeners de evento anexados ao AbortSignal
devem usar a opção { once: true }
(ou, se estiver usando as APIs EventEmitter
para anexar um listener, use o método once()
) para garantir que o listener de evento seja removido assim que o evento 'abort'
for tratado. Não fazer isso pode resultar em vazamentos de memória.
abortSignal.aborted
Adicionado em: v15.0.0, v14.17.0
- Tipo: <boolean> Verdadeiro após o
AbortController
ter sido abortado.
abortSignal.onabort
Adicionado em: v15.0.0, v14.17.0
- Tipo: <Function>
Uma função de callback opcional que pode ser definida pelo código do usuário para ser notificada quando a função abortController.abort()
for chamada.
abortSignal.reason
Adicionado em: v17.2.0, v16.14.0
- Tipo: <any>
Uma razão opcional especificada quando o AbortSignal
foi acionado.
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason); // Error: boom!
abortSignal.throwIfAborted()
Adicionado em: v17.3.0, v16.17.0
Se abortSignal.aborted
for true
, lança abortSignal.reason
.
Classe: Blob
Adicionado em: v18.0.0
Veja <Blob>.
Classe: Buffer
Adicionado em: v0.1.103
Usado para manipular dados binários. Veja a seção de buffer.
Classe: ByteLengthQueuingStrategy
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de ByteLengthQueuingStrategy
.
__dirname
Esta variável pode parecer ser global, mas não é. Veja __dirname
.
__filename
Esta variável pode parecer ser global, mas não é. Veja __filename
.
atob(data)
Adicionado em: v16.0.0
[Estável: 3 - Legado]
Estável: 3 Estabilidade: 3 - Legado. Use Buffer.from(data, 'base64')
em vez disso.
Alias global para buffer.atob()
.
BroadcastChannel
Adicionado em: v18.0.0
Veja <BroadcastChannel>.
btoa(data)
Adicionado em: v16.0.0
[Estável: 3 - Legado]
Estável: 3 Estabilidade: 3 - Legado. Use buf.toString('base64')
em vez disso.
Alias global para buffer.btoa()
.
clearImmediate(immediateObject)
Adicionado em: v0.9.1
clearImmediate
é descrito na seção de timers.
clearInterval(intervalObject)
Adicionado em: v0.0.1
clearInterval
é descrito na seção de timers.
clearTimeout(timeoutObject)
Adicionado em: v0.0.1
clearTimeout
é descrito na seção de timers.
CloseEvent
Adicionado em: v23.0.0
A classe CloseEvent
. Veja CloseEvent
para mais detalhes.
Uma implementação compatível com o navegador de CloseEvent
. Desative esta API com a flag CLI --no-experimental-websocket
.
Classe: CompressionStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de CompressionStream
.
console
Adicionado em: v0.1.100
Usado para imprimir para stdout e stderr. Veja a seção console
.
Classe: CountQueuingStrategy
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de CountQueuingStrategy
.
Crypto
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Não é mais experimental. |
v19.0.0 | Não está mais atrás da flag CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Adicionado em: v17.6.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável.
Uma implementação compatível com navegador de <Crypto>. Este global está disponível apenas se o binário do Node.js foi compilado incluindo suporte para o módulo node:crypto
.
crypto
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Não é mais experimental. |
v19.0.0 | Não está mais atrás da flag CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Adicionado em: v17.6.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável.
Uma implementação compatível com navegador da Web Crypto API.
CryptoKey
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Não é mais experimental. |
v19.0.0 | Não está mais atrás da flag CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Adicionado em: v17.6.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável.
Uma implementação compatível com navegador de <CryptoKey>. Este global está disponível apenas se o binário do Node.js foi compilado incluindo suporte para o módulo node:crypto
.
CustomEvent
[Histórico]
Versão | Mudanças |
---|---|
v23.0.0 | Não é mais experimental. |
v22.1.0, v20.13.0 | CustomEvent agora é estável. |
v19.0.0 | Não está mais atrás da flag CLI --experimental-global-customevent . |
v18.7.0, v16.17.0 | Adicionado em: v18.7.0, v16.17.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável
Uma implementação compatível com navegador da CustomEvent
Web API.
Classe: DecompressionStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de DecompressionStream
.
Event
[Histórico]
Versão | Alterações |
---|---|
v15.4.0 | Não é mais experimental. |
v15.0.0 | Adicionado em: v15.0.0 |
Uma implementação compatível com o navegador da classe Event
. Veja EventTarget
e API Event
para mais detalhes.
EventSource
Adicionado em: v22.3.0, v20.18.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental. Habilite esta API com a flag de CLI --experimental-eventsource
.
Uma implementação compatível com o navegador da classe EventSource
.
EventTarget
[Histórico]
Versão | Alterações |
---|---|
v15.4.0 | Não é mais experimental. |
v15.0.0 | Adicionado em: v15.0.0 |
Uma implementação compatível com o navegador da classe EventTarget
. Veja EventTarget
e API Event
para mais detalhes.
exports
Esta variável pode parecer global, mas não é. Veja exports
.
fetch
[Histórico]
Versão | Alterações |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás da flag de CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Adicionado em: v17.5.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável
Uma implementação compatível com o navegador da função fetch()
.
Classe: File
Adicionado em: v20.0.0
Veja <File>.
Classe FormData
[Histórico]
Versão | Alterações |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás do sinalizador CLI --experimental-fetch . |
v17.6.0, v16.15.0 | Adicionado em: v17.6.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável
Uma implementação compatível com o navegador de <FormData>.
global
Adicionado em: v0.1.27
[Estável: 3 - Legado]
Estável: 3 Estabilidade: 3 - Legado. Use globalThis
em vez disso.
- <Object> O objeto de namespace global.
Nos navegadores, o escopo de nível superior tem sido tradicionalmente o escopo global. Isso significa que var something
definirá uma nova variável global, exceto em módulos ECMAScript. No Node.js, isso é diferente. O escopo de nível superior não é o escopo global; var something
dentro de um módulo Node.js será local para esse módulo, independentemente de ser um módulo CommonJS ou um módulo ECMAScript.
Classe Headers
[Histórico]
Versão | Alterações |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás do sinalizador CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Adicionado em: v17.5.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável
Uma implementação compatível com o navegador de <Headers>.
localStorage
Adicionado em: v22.4.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Desenvolvimento inicial.
Uma implementação compatível com o navegador de localStorage
. Os dados são armazenados não criptografados no arquivo especificado pelo sinalizador CLI --localstorage-file
. A quantidade máxima de dados que pode ser armazenada é de 10 MB. Qualquer modificação desses dados fora da API Web Storage não é suportada. Ative esta API com o sinalizador CLI --experimental-webstorage
. Os dados de localStorage
não são armazenados por usuário ou por solicitação quando usados no contexto de um servidor, eles são compartilhados entre todos os usuários e solicitações.
MessageChannel
Adicionado em: v15.0.0
A classe MessageChannel
. Consulte MessageChannel
para obter mais detalhes.
MessageEvent
Adicionado em: v15.0.0
A classe MessageEvent
. Consulte MessageEvent
para obter mais detalhes.
MessagePort
Adicionado em: v15.0.0
A classe MessagePort
. Consulte MessagePort
para obter mais detalhes.
module
Esta variável pode parecer global, mas não é. Consulte module
.
Navigator
Adicionado em: v21.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1.1 - Desenvolvimento ativo. Desative esta API com o sinalizador CLI --no-experimental-global-navigator
.
Uma implementação parcial da API Navigator.
navigator
Adicionado em: v21.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1.1 - Desenvolvimento ativo. Desative esta API com o sinalizador CLI --no-experimental-global-navigator
.
Uma implementação parcial de window.navigator
.
navigator.hardwareConcurrency
Adicionado em: v21.0.0
A propriedade somente leitura navigator.hardwareConcurrency
retorna o número de processadores lógicos disponíveis para a instância Node.js atual.
console.log(`Este processo está sendo executado em ${navigator.hardwareConcurrency} processadores lógicos`);
navigator.language
Adicionado em: v21.2.0
A propriedade somente leitura navigator.language
retorna uma string representando o idioma preferido da instância Node.js. O idioma será determinado pela biblioteca ICU usada pelo Node.js em tempo de execução com base no idioma padrão do sistema operacional.
O valor representa a versão do idioma conforme definido em RFC 5646.
O valor de fallback em builds sem ICU é 'en-US'
.
console.log(`O idioma preferido da instância Node.js tem a tag '${navigator.language}'`);
navigator.languages
Adicionado em: v21.2.0
- {Array
A propriedade somente leitura navigator.languages
retorna um array de strings representando os idiomas preferidos da instância Node.js. Por padrão, navigator.languages
contém apenas o valor de navigator.language
, que será determinado pela biblioteca ICU usada pelo Node.js em tempo de execução com base no idioma padrão do sistema operacional.
O valor de fallback em compilações sem ICU é ['en-US']
.
console.log(`Os idiomas preferidos são '${navigator.languages}'`);
navigator.platform
Adicionado em: v21.2.0
A propriedade somente leitura navigator.platform
retorna uma string identificando a plataforma na qual a instância Node.js está sendo executada.
console.log(`Este processo está sendo executado em ${navigator.platform}`);
navigator.userAgent
Adicionado em: v21.1.0
A propriedade somente leitura navigator.userAgent
retorna o user agent consistindo no nome do runtime e no número da versão principal.
console.log(`O user-agent é ${navigator.userAgent}`); // Imprime "Node.js/21"
PerformanceEntry
Adicionado em: v19.0.0
A classe PerformanceEntry
. Veja PerformanceEntry
para mais detalhes.
PerformanceMark
Adicionado em: v19.0.0
A classe PerformanceMark
. Veja PerformanceMark
para mais detalhes.
PerformanceMeasure
Adicionado em: v19.0.0
A classe PerformanceMeasure
. Veja PerformanceMeasure
para mais detalhes.
PerformanceObserver
Adicionado em: v19.0.0
A classe PerformanceObserver
. Veja PerformanceObserver
para mais detalhes.
PerformanceObserverEntryList
Adicionado em: v19.0.0
A classe PerformanceObserverEntryList
. Veja PerformanceObserverEntryList
para mais detalhes.
PerformanceResourceTiming
Adicionado em: v19.0.0
A classe PerformanceResourceTiming
. Veja PerformanceResourceTiming
para mais detalhes.
performance
Adicionado em: v16.0.0
O objeto perf_hooks.performance
.
process
Adicionado em: v0.1.7
O objeto process. Veja a seção process
object.
queueMicrotask(callback)
Adicionado em: v11.0.0
callback
<Function> Função a ser enfileirada.
O método queueMicrotask()
enfileira uma microtarefa para invocar callback
. Se callback
lançar uma exceção, o evento 'uncaughtException'
do process
object será emitido.
A fila de microtarefas é gerenciada pelo V8 e pode ser usada de forma semelhante à fila process.nextTick()
, que é gerenciada pelo Node.js. A fila process.nextTick()
é sempre processada antes da fila de microtarefas em cada turno do loop de eventos do Node.js.
// Aqui, `queueMicrotask()` é usado para garantir que o evento 'load' seja sempre
// emitido de forma assíncrona e, portanto, consistente. Usar
// `process.nextTick()` aqui resultaria no evento 'load' sempre sendo emitido
// antes de qualquer outro job de promessa.
DataHandler.prototype.load = async function load(key) {
const hit = this._cache.get(key);
if (hit !== undefined) {
queueMicrotask(() => {
this.emit('load', hit);
});
return;
}
const data = await fetchData(key);
this._cache.set(key, data);
this.emit('load', data);
};
Classe: ReadableByteStreamController
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de ReadableByteStreamController
.
Classe: ReadableStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de ReadableStream
.
Classe: ReadableStreamBYOBReader
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de ReadableStreamBYOBReader
.
Classe: ReadableStreamBYOBRequest
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de ReadableStreamBYOBRequest
.
Classe: ReadableStreamDefaultController
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de ReadableStreamDefaultController
.
Classe: ReadableStreamDefaultReader
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de ReadableStreamDefaultReader
.
require()
Esta variável pode parecer global, mas não é. Consulte require()
.
Response
[Histórico]
Versão | Alterações |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás da flag de CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Adicionado em: v17.5.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável
Uma implementação compatível com o navegador de <Response>.
Request
[Histórico]
Versão | Mudanças |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás da flag --experimental-fetch da CLI. |
v17.5.0, v16.15.0 | Adicionado em: v17.5.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável
Uma implementação compatível com o navegador de <Request>.
sessionStorage
Adicionado em: v22.4.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1.0 - Desenvolvimento inicial.
Uma implementação compatível com o navegador de sessionStorage
. Os dados são armazenados na memória, com uma quota de armazenamento de 10 MB. Os dados do sessionStorage
persistem apenas dentro do processo em execução atual e não são compartilhados entre os workers.
setImmediate(callback[, ...args])
Adicionado em: v0.9.1
setImmediate
é descrito na seção timers.
setInterval(callback, delay[, ...args])
Adicionado em: v0.0.1
setInterval
é descrito na seção timers.
setTimeout(callback, delay[, ...args])
Adicionado em: v0.0.1
setTimeout
é descrito na seção timers.
Class: Storage
Adicionado em: v22.4.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1.0 - Desenvolvimento inicial.
Uma implementação compatível com o navegador de Storage
. Habilite esta API com a flag da CLI --experimental-webstorage
.
structuredClone(value[, options])
Adicionado em: v17.0.0
O método WHATWG structuredClone
.
SubtleCrypto
[Histórico]
Versão | Mudanças |
---|---|
v19.0.0 | Não está mais atrás da flag CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Adicionado em: v17.6.0, v16.15.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável.
Uma implementação compatível com o navegador de <SubtleCrypto>. Este global está disponível apenas se o binário do Node.js foi compilado incluindo suporte para o módulo node:crypto
.
DOMException
Adicionado em: v17.0.0
A classe WHATWG DOMException
. Veja DOMException
para mais detalhes.
TextDecoder
Adicionado em: v11.0.0
A classe WHATWG TextDecoder
. Veja a seção TextDecoder
.
Classe: TextDecoderStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de TextDecoderStream
.
TextEncoder
Adicionado em: v11.0.0
A classe WHATWG TextEncoder
. Veja a seção TextEncoder
.
Classe: TextEncoderStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de TextEncoderStream
.
Classe: TransformStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de TransformStream
.
Classe: TransformStreamDefaultController
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de TransformStreamDefaultController
.
URL
Adicionado em: v10.0.0
A classe URL
da WHATWG. Veja a seção URL
.
URLSearchParams
Adicionado em: v10.0.0
A classe URLSearchParams
da WHATWG. Veja a seção URLSearchParams
.
WebAssembly
Adicionado em: v8.0.0
O objeto que atua como o namespace para toda a funcionalidade relacionada ao WebAssembly da W3C. Consulte a Mozilla Developer Network para uso e compatibilidade.
WebSocket
[Histórico]
Versão | Mudanças |
---|---|
v22.4.0 | Não é mais experimental. |
v22.0.0 | Não está mais atrás do sinalizador CLI --experimental-websocket . |
v21.0.0, v20.10.0 | Adicionado em: v21.0.0, v20.10.0 |
[Estável: 2 - Estável]
Estável: 2 Estabilidade: 2 - Estável.
Uma implementação compatível com o navegador de WebSocket
. Desative esta API com o sinalizador CLI --no-experimental-websocket
.
Classe: WritableStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de WritableStream
.
Classe: WritableStreamDefaultController
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de WritableStreamDefaultController
.
Classe: WritableStreamDefaultWriter
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1 - Experimental.
Uma implementação compatível com o navegador de WritableStreamDefaultWriter
.