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 trueabortController.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 propriedadereasondoAbortSignal.
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[]> OsAbortSignals 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
AbortControllerter 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.