Skip to content

Oggetti globali

Questi oggetti sono disponibili in tutti i moduli.

Le seguenti variabili potrebbero sembrare globali ma non lo sono. Esistono solo nell'ambito dei moduli CommonJS:

Gli oggetti elencati qui sono specifici di Node.js. Esistono oggetti incorporati che fanno parte del linguaggio JavaScript stesso, che sono anche accessibili globalmente.

Classe: AbortController

[Storia]

VersioneModifiche
v15.4.0Non più sperimentale.
v15.0.0, v14.17.0Aggiunto in: v15.0.0, v14.17.0

Una classe utility utilizzata per segnalare l'annullamento nelle API selezionate basate su Promise. L'API si basa sulla Web API AbortController.

js
const ac = new AbortController()

ac.signal.addEventListener('abort', () => console.log('Annullato!'), { once: true })

ac.abort()

console.log(ac.signal.aborted) // Stampa true

abortController.abort([motivo])

[Storia]

VersioneModifiche
v17.2.0, v16.14.0Aggiunto il nuovo argomento facoltativo reason.
v15.0.0, v14.17.0Aggiunto in: v15.0.0, v14.17.0
  • reason <any> Un motivo opzionale, recuperabile nella proprietà reason di AbortSignal.

Attiva il segnale di annullamento, facendo sì che abortController.signal emetta l'evento 'abort'.

abortController.signal

Aggiunto in: v15.0.0, v14.17.0

Classe: AbortSignal

Aggiunto in: v15.0.0, v14.17.0

AbortSignal viene utilizzato per notificare agli osservatori quando viene chiamato il metodo abortController.abort().

Metodo statico: AbortSignal.abort([reason])

[Cronologia]

VersioneModifiche
v17.2.0, v16.14.0Aggiunto il nuovo argomento opzionale reason.
v15.12.0, v14.17.0Aggiunto in: v15.12.0, v14.17.0

Restituisce un nuovo AbortSignal già interrotto.

Metodo statico: AbortSignal.timeout(delay)

Aggiunto in: v17.3.0, v16.14.0

  • delay <number> Il numero di millisecondi da attendere prima di attivare l'AbortSignal.

Restituisce un nuovo AbortSignal che verrà interrotto in delay millisecondi.

Metodo statico: AbortSignal.any(signals)

Aggiunto in: v20.3.0, v18.17.0

  • signals <AbortSignal[]> Gli AbortSignal di cui comporre un nuovo AbortSignal.

Restituisce un nuovo AbortSignal che verrà interrotto se uno qualsiasi dei segnali forniti viene interrotto. La sua abortSignal.reason verrà impostata su quello dei signals che ha causato l'interruzione.

Evento: 'abort'

Aggiunto in: v15.0.0, v14.17.0

L'evento 'abort' viene emesso quando viene chiamato il metodo abortController.abort(). Il callback viene richiamato con un singolo argomento oggetto con una singola proprietà type impostata su 'abort':

js
const ac = new AbortController()

// Utilizzare la proprietà onabort...
ac.signal.onabort = () => console.log('interrotto!')

// Oppure l'API EventTarget...
ac.signal.addEventListener(
  'abort',
  event => {
    console.log(event.type) // Stampa 'abort'
  },
  { once: true }
)

ac.abort()

L'AbortController con cui è associato l'AbortSignal attiverà l'evento 'abort' solo una volta. Si consiglia di controllare che l'attributo abortSignal.aborted sia false prima di aggiungere un listener dell'evento 'abort'.

Tutti i listener degli eventi collegati all'AbortSignal devono utilizzare l'opzione { once: true } (o, se si utilizzano le API di EventEmitter per collegare un listener, utilizzare il metodo once()) per garantire che il listener dell'evento venga rimosso non appena viene gestito l'evento 'abort'. In caso contrario, potrebbero verificarsi perdite di memoria.

abortSignal.aborted

Aggiunto in: v15.0.0, v14.17.0

  • Tipo: <boolean> Vero dopo che AbortController è stato interrotto.

abortSignal.onabort

Aggiunto in: v15.0.0, v14.17.0

Una funzione di callback opzionale che può essere impostata dal codice utente per essere notificata quando la funzione abortController.abort() è stata chiamata.

abortSignal.reason

Aggiunto in: v17.2.0, v16.14.0

Una ragione opzionale specificata quando AbortSignal è stato attivato.

js
const ac = new AbortController()
ac.abort(new Error('boom!'))
console.log(ac.signal.reason) // Error: boom!

abortSignal.throwIfAborted()

Aggiunto in: v17.3.0, v16.17.0

Se abortSignal.aborted è true, lancia abortSignal.reason.

Class: Blob

Aggiunto in: v18.0.0

Vedi <Blob>.

Class: Buffer

Aggiunto in: v0.1.103

Utilizzato per gestire i dati binari. Vedi la sezione buffer.

Class: ByteLengthQueuingStrategy

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ByteLengthQueuingStrategy.

__dirname

Questa variabile potrebbe sembrare globale ma non lo è. Vedi __dirname.

__filename

Questa variabile potrebbe sembrare globale ma non lo è. Vedi __filename.

atob(data)

Aggiunto in: v16.0.0

[Stabile: 3 - Legacy]

Stabile: 3 Stabilità: 3 - Legacy. Utilizzare invece Buffer.from(data, 'base64').

Alias globale per buffer.atob().

BroadcastChannel

Aggiunto in: v18.0.0

Vedi <BroadcastChannel>.

btoa(data)

Aggiunto in: v16.0.0

[Stabile: 3 - Legacy]

Stabile: 3 Stabilità: 3 - Legacy. Invece usa buf.toString('base64').

Alias globale per buffer.btoa().

clearImmediate(immediateObject)

Aggiunto in: v0.9.1

clearImmediate è descritto nella sezione timers.

clearInterval(intervalObject)

Aggiunto in: v0.0.1

clearInterval è descritto nella sezione timers.

clearTimeout(timeoutObject)

Aggiunto in: v0.0.1

clearTimeout è descritto nella sezione timers.

CloseEvent

Aggiunto in: v23.0.0

La classe CloseEvent. Per maggiori dettagli, vedi CloseEvent.

Un'implementazione compatibile con il browser di CloseEvent. Disabilita questa API con il flag CLI --no-experimental-websocket.

Classe: CompressionStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di CompressionStream.

console

Aggiunto in: v0.1.100

Usato per stampare su stdout e stderr. Vedi la sezione console.

Classe: CountQueuingStrategy

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di CountQueuingStrategy.

Crypto

[Cronologia]

VersioneModifiche
v23.0.0Non più sperimentale.
v19.0.0Non più dietro il flag CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Aggiunto in: v17.6.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile.

Un'implementazione compatibile con il browser di <Crypto>. Questa variabile globale è disponibile solo se il binario Node.js è stato compilato includendo il supporto per il modulo node:crypto.

crypto

[Cronologia]

VersioneModifiche
v23.0.0Non più sperimentale.
v19.0.0Non più dietro il flag CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Aggiunto in: v17.6.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile.

Un'implementazione compatibile con il browser della Web Crypto API.

CryptoKey

[Cronologia]

VersioneModifiche
v23.0.0Non più sperimentale.
v19.0.0Non più dietro il flag CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Aggiunto in: v17.6.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile.

Un'implementazione compatibile con il browser di <CryptoKey>. Questa variabile globale è disponibile solo se il binario Node.js è stato compilato includendo il supporto per il modulo node:crypto.

CustomEvent

[Cronologia]

VersioneModifiche
v23.0.0Non più sperimentale.
v22.1.0, v20.13.0CustomEvent è ora stabile.
v19.0.0Non più dietro il flag CLI --experimental-global-customevent.
v18.7.0, v16.17.0Aggiunto in: v18.7.0, v16.17.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile

Un'implementazione compatibile con il browser della CustomEvent Web API.

Classe: DecompressionStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di DecompressionStream.

Event

[Cronologia]

VersioneModifiche
v15.4.0Non più sperimentale.
v15.0.0Aggiunto in: v15.0.0

Un'implementazione compatibile con il browser della classe Event. Per maggiori dettagli, consulta EventTarget e API Event.

EventSource

Aggiunto in: v22.3.0, v20.18.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale. Abilita questa API con il flag CLI --experimental-eventsource.

Un'implementazione compatibile con il browser della classe EventSource.

EventTarget

[Cronologia]

VersioneModifiche
v15.4.0Non più sperimentale.
v15.0.0Aggiunto in: v15.0.0

Un'implementazione compatibile con il browser della classe EventTarget. Per maggiori dettagli, consulta EventTarget e API Event.

exports

Questa variabile potrebbe sembrare globale, ma non lo è. Vedi exports.

fetch

[Cronologia]

VersioneModifiche
v21.0.0Non più sperimentale.
v18.0.0Non più dietro il flag CLI --experimental-fetch.
v17.5.0, v16.15.0Aggiunto in: v17.5.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile

Un'implementazione compatibile con il browser della funzione fetch().

Classe: File

Aggiunto in: v20.0.0

Vedi <File>.

Classe FormData

[Cronologia]

VersioneModifiche
v21.0.0Non più sperimentale.
v18.0.0Non più dietro il flag CLI --experimental-fetch.
v17.6.0, v16.15.0Aggiunto in: v17.6.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile

Un'implementazione compatibile con il browser di <FormData>.

global

Aggiunto in: v0.1.27

[Stabile: 3 - Legacy]

Stabile: 3 Stabilità: 3 - Legacy. Usa globalThis invece.

Nei browser, l'ambito di livello superiore è tradizionalmente stato l'ambito globale. Ciò significa che var something definirà una nuova variabile globale, ad eccezione dei moduli ECMAScript. In Node.js, questo è diverso. L'ambito di livello superiore non è l'ambito globale; var something all'interno di un modulo Node.js sarà locale a quel modulo, indipendentemente dal fatto che sia un modulo CommonJS o un modulo ECMAScript.

Classe Headers

[Cronologia]

VersioneModifiche
v21.0.0Non più sperimentale.
v18.0.0Non più dietro il flag CLI --experimental-fetch.
v17.5.0, v16.15.0Aggiunto in: v17.5.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile

Un'implementazione compatibile con il browser di <Headers>.

localStorage

Aggiunto in: v22.4.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1.0 - Fase iniziale di sviluppo.

Un'implementazione compatibile con il browser di localStorage. I dati vengono memorizzati non crittografati nel file specificato dal flag CLI --localstorage-file. La quantità massima di dati che possono essere memorizzati è 10 MB. Qualsiasi modifica di questi dati al di fuori dell'API Web Storage non è supportata. Abilita questa API con il flag CLI --experimental-webstorage. I dati di localStorage non vengono memorizzati per utente o per richiesta quando vengono utilizzati nel contesto di un server, sono condivisi tra tutti gli utenti e le richieste.

MessageChannel

Aggiunto in: v15.0.0

La classe MessageChannel. Vedi MessageChannel per maggiori dettagli.

MessageEvent

Aggiunto in: v15.0.0

La classe MessageEvent. Vedi MessageEvent per maggiori dettagli.

MessagePort

Aggiunto in: v15.0.0

La classe MessagePort. Vedi MessagePort per maggiori dettagli.

module

Questa variabile può sembrare globale ma non lo è. Vedi module.

Aggiunto in: v21.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1.1 - Sviluppo attivo. Disabilita questa API con il flag CLI --no-experimental-global-navigator.

Un'implementazione parziale dell' API Navigator.

Aggiunto in: v21.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1.1 - Sviluppo attivo. Disabilita questa API con il flag CLI --no-experimental-global-navigator.

Un'implementazione parziale di window.navigator.

Aggiunto in: v21.0.0

La proprietà di sola lettura navigator.hardwareConcurrency restituisce il numero di processori logici disponibili per l'istanza Node.js corrente.

js
console.log(`Questo processo è in esecuzione su ${navigator.hardwareConcurrency} processori logici`)

Aggiunto in: v21.2.0

La proprietà di sola lettura navigator.language restituisce una stringa che rappresenta la lingua preferita dell'istanza Node.js. La lingua sarà determinata dalla libreria ICU utilizzata da Node.js in fase di runtime in base alla lingua predefinita del sistema operativo.

Il valore rappresenta la versione della lingua come definito in RFC 5646.

Il valore di fallback nelle build senza ICU è 'en-US'.

js
console.log(`La lingua preferita dell'istanza Node.js ha il tag '${navigator.language}'`)

Aggiunto in: v21.2.0

  • {Array

La proprietà di sola lettura navigator.languages restituisce un array di stringhe che rappresentano le lingue preferite dell'istanza di Node.js. Per impostazione predefinita, navigator.languages contiene solo il valore di navigator.language, che sarà determinato dalla libreria ICU utilizzata da Node.js in fase di runtime in base alla lingua predefinita del sistema operativo.

Il valore di fallback nelle build senza ICU è ['en-US'].

js
console.log(`Le lingue preferite sono '${navigator.languages}'`)

Aggiunto in: v21.2.0

La proprietà di sola lettura navigator.platform restituisce una stringa che identifica la piattaforma su cui è in esecuzione l'istanza di Node.js.

js
console.log(`Questo processo è in esecuzione su ${navigator.platform}`)

Aggiunto in: v21.1.0

La proprietà di sola lettura navigator.userAgent restituisce lo user agent costituito dal nome del runtime e dal numero di versione principale.

js
console.log(`Lo user-agent è ${navigator.userAgent}`) // Stampa "Node.js/21"

PerformanceEntry

Aggiunto in: v19.0.0

La classe PerformanceEntry. Vedi PerformanceEntry per maggiori dettagli.

PerformanceMark

Aggiunto in: v19.0.0

La classe PerformanceMark. Vedi PerformanceMark per maggiori dettagli.

PerformanceMeasure

Aggiunto in: v19.0.0

La classe PerformanceMeasure. Vedi PerformanceMeasure per maggiori dettagli.

PerformanceObserver

Aggiunto in: v19.0.0

La classe PerformanceObserver. Vedi PerformanceObserver per maggiori dettagli.

PerformanceObserverEntryList

Aggiunto in: v19.0.0

La classe PerformanceObserverEntryList. Vedi PerformanceObserverEntryList per maggiori dettagli.

PerformanceResourceTiming

Aggiunto in: v19.0.0

La classe PerformanceResourceTiming. Per maggiori dettagli, consulta PerformanceResourceTiming.

performance

Aggiunto in: v16.0.0

L'oggetto perf_hooks.performance.

process

Aggiunto in: v0.1.7

L'oggetto process. Consulta la sezione dell'oggetto process.

queueMicrotask(callback)

Aggiunto in: v11.0.0

Il metodo queueMicrotask() accoda una microtask per invocare callback. Se callback genera un'eccezione, verrà emesso l'evento 'uncaughtException' dell'oggetto process.

La coda delle microtask è gestita da V8 e può essere utilizzata in modo simile alla coda di process.nextTick(), che è gestita da Node.js. La coda process.nextTick() viene sempre elaborata prima della coda delle microtask ad ogni ciclo dell'event loop di Node.js.

js
// Qui, `queueMicrotask()` viene utilizzato per garantire che l'evento 'load' venga sempre
// emesso in modo asincrono, e quindi coerente. L'uso di
// `process.nextTick()` qui porterebbe all'emissione dell'evento 'load' sempre
// prima di qualsiasi altro job 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)
}

Classe: ReadableByteStreamController

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableByteStreamController.

Class: ReadableStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabile: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStream.

Class: ReadableStreamBYOBReader

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabile: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamBYOBReader.

Class: ReadableStreamBYOBRequest

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabile: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamBYOBRequest.

Class: ReadableStreamDefaultController

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabile: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamDefaultController.

Class: ReadableStreamDefaultReader

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabile: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamDefaultReader.

require()

Questa variabile potrebbe sembrare globale, ma non lo è. Vedi require().

Response

[Cronologia]

VersioneCambiamenti
v21.0.0Non più sperimentale.
v18.0.0Non più dietro il flag CLI --experimental-fetch.
v17.5.0, v16.15.0Aggiunto in: v17.5.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabile: 2 - Stabile

Un'implementazione compatibile con il browser di <Response>.

Request

[Cronologia]

VersioneModifiche
v21.0.0Non più sperimentale.
v18.0.0Non più dietro il flag CLI --experimental-fetch.
v17.5.0, v16.15.0Aggiunto in: v17.5.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile

Un'implementazione compatibile con il browser di <Request>.

sessionStorage

Aggiunto in: v22.4.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1.0 - Inizio dello sviluppo.

Un'implementazione compatibile con il browser di sessionStorage. I dati sono memorizzati in memoria, con una quota di archiviazione di 10 MB. I dati di sessionStorage persistono solo all'interno del processo attualmente in esecuzione e non sono condivisi tra i worker.

setImmediate(callback[, ...args])

Aggiunto in: v0.9.1

setImmediate è descritto nella sezione timer.

setInterval(callback, delay[, ...args])

Aggiunto in: v0.0.1

setInterval è descritto nella sezione timer.

setTimeout(callback, delay[, ...args])

Aggiunto in: v0.0.1

setTimeout è descritto nella sezione timer.

Classe: Storage

Aggiunto in: v22.4.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1.0 - Inizio dello sviluppo.

Un'implementazione compatibile con il browser di Storage. Abilita questa API con il flag CLI --experimental-webstorage.

structuredClone(value[, options])

Aggiunto in: v17.0.0

Il metodo WHATWG structuredClone.

SubtleCrypto

[Cronologia]

VersioneCambiamenti
v19.0.0Non più dietro il flag CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Aggiunto in: v17.6.0, v16.15.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile.

Un'implementazione compatibile con il browser di <SubtleCrypto>. Questa variabile globale è disponibile solo se il binario Node.js è stato compilato includendo il supporto per il modulo node:crypto.

DOMException

Aggiunto in: v17.0.0

La classe WHATWG DOMException. Vedere DOMException per maggiori dettagli.

TextDecoder

Aggiunto in: v11.0.0

La classe WHATWG TextDecoder. Vedere la sezione TextDecoder.

Classe: TextDecoderStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di TextDecoderStream.

TextEncoder

Aggiunto in: v11.0.0

La classe WHATWG TextEncoder. Vedere la sezione TextEncoder.

Classe: TextEncoderStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di TextEncoderStream.

Classe: TransformStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di TransformStream.

Classe: TransformStreamDefaultController

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di TransformStreamDefaultController.

URL

Aggiunto in: v10.0.0

La classe URL WHATWG. Consulta la sezione URL.

URLSearchParams

Aggiunto in: v10.0.0

La classe URLSearchParams WHATWG. Consulta la sezione URLSearchParams.

WebAssembly

Aggiunto in: v8.0.0

L'oggetto che funge da namespace per tutte le funzionalità correlate a W3C WebAssembly. Consulta il Mozilla Developer Network per l'utilizzo e la compatibilità.

WebSocket

[Cronologia]

VersioneModifiche
v22.4.0Non più sperimentale.
v22.0.0Non più dietro il flag CLI --experimental-websocket.
v21.0.0, v20.10.0Aggiunto in: v21.0.0, v20.10.0

[Stabile: 2 - Stabile]

Stabile: 2 Stabilità: 2 - Stabile.

Un'implementazione compatibile con il browser di WebSocket. Disabilita questa API con il flag CLI --no-experimental-websocket.

Classe: WritableStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di WritableStream.

Classe: WritableStreamDefaultController

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di WritableStreamDefaultController.

Classe: WritableStreamDefaultWriter

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di WritableStreamDefaultWriter.