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 e que também são acessíveis globalmente.
Classe: AbortController
[Histórico]
Versão | Alterações |
---|---|
v15.4.0 | Não é mais experimental. |
v15.0.0, v14.17.0 | Adicionado em: v15.0.0, v14.17.0 |
Uma classe utilitária 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 | Alterações |
---|---|
v17.2.0, v16.14.0 | Adicionado o novo argumento reason opcional. |
v15.0.0, v14.17.0 | Adicionado em: v15.0.0, v14.17.0 |
reason
<any> Uma reason opcional, recuperável na propriedadereason
doAbortSignal
.
Dispara 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([motivo])
[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 |
motivo
: <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 para 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 para qual dos signals
fez com que ele fosse abortado.
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ó irá 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'
.
Qualquer ouvinte de evento anexado ao AbortSignal
deve usar a opção { once: true }
(ou, se estiver usando as APIs EventEmitter
para anexar um ouvinte, use o método once()
) para garantir que o ouvinte de evento seja removido assim que o evento 'abort'
for tratado. A falha em 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 retorno de chamada opcional que pode ser definida pelo código do usuário para ser notificada quando a função abortController.abort()
tiver sido 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
Consulte <Blob>.
Classe: Buffer
Adicionado em: v0.1.103
Usado para manipular dados binários. Consulte 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 global, mas não é. Consulte __dirname
.
__filename
Esta variável pode parecer global, mas não é. Consulte __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
Ver <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 timers.
clearInterval(intervalObject)
Adicionado em: v0.0.1
clearInterval
é descrito na seção timers.
clearTimeout(timeoutObject)
Adicionado em: v0.0.1
clearTimeout
é descrito na seção timers.
CloseEvent
Adicionado em: v23.0.0
A classe CloseEvent
. Consulte CloseEvent
para obter mais detalhes.
Uma implementação compatível com navegador de CloseEvent
. Desative esta API com o sinalizador 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 navegador de CompressionStream
.
console
Adicionado em: v0.1.100
Usado para imprimir em stdout e stderr. Consulte 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 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 do sinalizador 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 <Crypto>. Esta variável global está disponível apenas se o binário do Node.js foi compilado com 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 do sinalizador 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 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 do sinalizador 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 <CryptoKey>. Esta variável global está disponível apenas se o binário do Node.js foi compilado com 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 do sinalizador 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 o navegador da Web API CustomEvent
.
Classe: DecompressionStream
Adicionado em: v18.0.0
[Estável: 1 - Experimental]
Estável: 1 Estável: 1 - Experimental.
Uma implementação compatível com o navegador de DecompressionStream
.
Event
[Histórico]
Versão | Mudanças |
---|---|
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 Estável: 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 | Mudanças |
---|---|
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 ser global, mas não é. Veja exports
.
fetch
[Histórico]
Versão | Mudanças |
---|---|
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 Estável: 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 | Mudanças |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás da flag 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 do 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 dentro de 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 | Mudanças |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás da flag 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.0 - Desenvolvimento inicial.
Uma implementação compatível com o navegador de localStorage
. Os dados são armazenados sem criptografia no arquivo especificado pela flag 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. Habilite esta API com a flag CLI --experimental-webstorage
. Os dados do localStorage
não são armazenados por usuário ou por solicitação quando usados no contexto de um servidor, eles são compartilhados por todos os usuários e solicitações.
MessageChannel
Adicionado em: v15.0.0
A classe MessageChannel
. Veja MessageChannel
para mais detalhes.
MessageEvent
Adicionado em: v15.0.0
A classe MessageEvent
. Veja MessageEvent
para mais detalhes.
MessagePort
Adicionado em: v15.0.0
A classe MessagePort
. Veja MessagePort
para mais detalhes.
module
Esta variável pode parecer global, mas não é. Veja module
.
Navigator
Adicionado em: v21.0.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1.1 - Desenvolvimento ativo. Desabilite esta API com a flag 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. Desabilite esta API com a flag 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 atual do Node.js.
console.log(`Este processo está rodando 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 do 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 está representando 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 do 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 builds 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 tempo de execução 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
. Consulte PerformanceEntry
para mais detalhes.
PerformanceMark
Adicionado em: v19.0.0
A classe PerformanceMark
. Consulte PerformanceMark
para mais detalhes.
PerformanceMeasure
Adicionado em: v19.0.0
A classe PerformanceMeasure
. Consulte PerformanceMeasure
para mais detalhes.
PerformanceObserver
Adicionado em: v19.0.0
A classe PerformanceObserver
. Consulte PerformanceObserver
para mais detalhes.
PerformanceObserverEntryList
Adicionado em: v19.0.0
A classe PerformanceObserverEntryList
. Consulte PerformanceObserverEntryList
para mais detalhes.
PerformanceResourceTiming
Adicionado em: v19.0.0
A classe PerformanceResourceTiming
. Consulte PerformanceResourceTiming
para mais detalhes.
performance
Adicionado em: v16.0.0
O objeto perf_hooks.performance
.
process
Adicionado em: v0.1.7
O objeto process. Consulte 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 objeto process
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 na emissão do evento 'load' sempre
// antes de quaisquer outros trabalhos de promise.
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)
}
Class: 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 | Mudanças |
---|---|
v21.0.0 | Não é mais experimental. |
v18.0.0 | Não está mais atrás da flag 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 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 navegadores 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 navegadores de sessionStorage
. Os dados são armazenados na memória, com uma cota de armazenamento de 10 MB. Os dados de 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.
Classe: Storage
Adicionado em: v22.4.0
[Estável: 1 - Experimental]
Estável: 1 Estabilidade: 1.0 - Desenvolvimento inicial.
Uma implementação compatível com navegadores de Storage
. Habilite esta API com a flag 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 com suporte para o módulo node:crypto
.
DOMException
Adicionado em: v17.0.0
A classe DOMException
da WHATWG. Veja DOMException
para mais detalhes.
TextDecoder
Adicionado em: v11.0.0
A classe TextDecoder
da WHATWG. 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 TextEncoder
da WHATWG. 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
WHATWG. Veja a seção URL
.
URLSearchParams
Adicionado em: v10.0.0
A classe URLSearchParams
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 W3C WebAssembly. Veja 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
.