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

[Cronologia]

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

Una classe di utilità utilizzata per segnalare l'annullamento in API basate su Promise selezionate. L'API è basata sull'API Web AbortController.

js
const ac = new AbortController();

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

ac.abort();

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

abortController.abort([reason])

[Cronologia]

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

Attiva il segnale di interruzione, facendo in modo 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 avvisare gli 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 AbortSignal.

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

Metodo statico: AbortSignal.any(signals)

Aggiunto in: v20.3.0, v18.17.0

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

Restituisce un nuovo AbortSignal che verrà interrotto se uno qualsiasi dei segnali forniti viene interrotto. Il suo abortSignal.reason sarà impostato su quello dei signals che ne 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(). La callback viene invocata con un singolo argomento oggetto con una singola proprietà type impostata su 'abort':

js
const ac = new AbortController();

// Usa 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 a cui è associato l'AbortSignal attiverà l'evento 'abort' una sola volta. Si consiglia che il codice verifichi che l'attributo abortSignal.aborted sia false prima di aggiungere un listener dell'evento 'abort'.

Qualsiasi listener di eventi collegato all'AbortSignal deve utilizzare l'opzione { once: true } (oppure, se si utilizzano le API EventEmitter per collegare un listener, utilizzare il metodo once()) per garantire che il listener di eventi 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> True 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 motivazione opzionale specificata quando è stato attivato AbortSignal.

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.

Classe: Blob

Aggiunto in: v18.0.0

Vedi <Blob>.

Classe: Buffer

Aggiunto in: v0.1.103

Utilizzato per gestire dati binari. Vedi la sezione buffer.

Classe: ByteLengthQueuingStrategy

Aggiunto in: v18.0.0

[Stable: 1 - Sperimentale]

Stable: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ByteLengthQueuingStrategy.

__dirname

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

__filename

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

atob(data)

Aggiunto in: v16.0.0

[Stable: 3 - Legacy]

Stable: 3 Stabilità: 3 - Legacy. Utilizza 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. Usa buf.toString('base64') invece.

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. Vedi CloseEvent per maggiori dettagli.

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 di 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 di 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 Stabile: 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. Vedi API EventTarget e Event per maggiori dettagli.

EventSource

Aggiunto in: v22.3.0, v20.18.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabile: 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. Vedi API EventTarget e Event per maggiori dettagli.

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 Stabile: 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. Utilizzare invece globalThis.

Nei browser, l'ambito di livello superiore è tradizionalmente l'ambito globale. Ciò significa che var something definirà una nuova variabile globale, ad eccezione dei moduli ECMAScript. In Node.js, è 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 si tratti di un modulo CommonJS o di 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 - Sviluppo iniziale.

Un'implementazione compatibile con il browser di localStorage. I dati vengono archiviati non crittografati nel file specificato dal flag CLI --localstorage-file. La quantità massima di dati che può essere archiviata è di 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 localStorage non vengono archiviati per utente o per richiesta quando vengono utilizzati nel contesto di un server, ma vengono 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 della Navigator API.

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à navigator.hardwareConcurrency di sola lettura 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à navigator.language di sola lettura 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 esecuzione in base alla lingua predefinita del sistema operativo.

Il valore rappresenta la versione della lingua come definita 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 Node.js. Per impostazione predefinita, navigator.languages contiene solo il valore di navigator.language, che verrà determinato dalla libreria ICU utilizzata da Node.js in fase di esecuzione 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 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. Per maggiori dettagli, consulta PerformanceEntry.

PerformanceMark

Aggiunto in: v19.0.0

La classe PerformanceMark. Per maggiori dettagli, consulta PerformanceMark.

PerformanceMeasure

Aggiunto in: v19.0.0

La classe PerformanceMeasure. Per maggiori dettagli, consulta PerformanceMeasure.

PerformanceObserver

Aggiunto in: v19.0.0

La classe PerformanceObserver. Per maggiori dettagli, consulta PerformanceObserver.

PerformanceObserverEntryList

Aggiunto in: v19.0.0

La classe PerformanceObserverEntryList. Per maggiori dettagli, consulta PerformanceObserverEntryList.

PerformanceResourceTiming

Aggiunto in: v19.0.0

La classe PerformanceResourceTiming. Consulta PerformanceResourceTiming per maggiori dettagli.

performance

Aggiunto in: v16.0.0

L'oggetto perf_hooks.performance.

process

Aggiunto in: v0.1.7

L'oggetto process. Vedere la sezione process object.

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 process object 'uncaughtException'.

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

js
// Qui, `queueMicrotask()` viene utilizzato per garantire che l'evento 'load' sia sempre
// emesso in modo asincrono, e quindi coerente. Utilizzando
// `process.nextTick()` qui risulterebbe nell'evento 'load' sempre emesso
// 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.

Classe: ReadableStream

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStream.

Classe: ReadableStreamBYOBReader

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamBYOBReader.

Classe: ReadableStreamBYOBRequest

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamBYOBRequest.

Classe: ReadableStreamDefaultController

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamDefaultController.

Classe: ReadableStreamDefaultReader

Aggiunto in: v18.0.0

[Stabile: 1 - Sperimentale]

Stabile: 1 Stabilità: 1 - Sperimentale.

Un'implementazione compatibile con il browser di ReadableStreamDefaultReader.

require()

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

Response

[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 <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 - Sviluppo iniziale.

Un'implementazione compatibile con il browser di sessionStorage. I dati vengono memorizzati in memoria, con una quota di archiviazione di 10 MB. I dati sessionStorage persistono solo all'interno del processo 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 - Sviluppo iniziale.

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]

VersioneModifiche
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>. Questo 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 WHATWG URL. Vedere la sezione URL.

URLSearchParams

Aggiunto in: v10.0.0

La classe WHATWG URLSearchParams. Vedere la sezione URLSearchParams.

WebAssembly

Aggiunto in: v8.0.0

L'oggetto che funge da spazio dei nomi per tutte le funzionalità relative a W3C WebAssembly. Consultare 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.