Skip to content

Objets globaux

Ces objets sont disponibles dans tous les modules.

Les variables suivantes peuvent sembler globales, mais ne le sont pas. Elles existent uniquement dans la portée des modules CommonJS :

Les objets listés ici sont spécifiques à Node.js. Il existe des objets intégrés qui font partie du langage JavaScript lui-même, qui sont également accessibles globalement.

Classe : AbortController

[Historique]

VersionModifications
v15.4.0N’est plus expérimental.
v15.0.0, v14.17.0Ajouté dans : v15.0.0, v14.17.0

Une classe utilitaire utilisée pour signaler une annulation dans certaines API basées sur Promise. L’API est basée sur l’API Web AbortController.

js
const ac = new AbortController();

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

ac.abort();

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

abortController.abort([reason])

[Historique]

VersionModifications
v17.2.0, v16.14.0Ajout de l’argument de raison facultatif.
v15.0.0, v14.17.0Ajouté dans : v15.0.0, v14.17.0
  • reason <any> Une raison facultative, récupérable sur la propriété reason de l’AbortSignal.

Déclenche le signal d’abandon, ce qui provoque l’émission de l’événement 'abort' par abortController.signal.

abortController.signal

Ajouté dans : v15.0.0, v14.17.0

Classe : AbortSignal

Ajouté dans : v15.0.0, v14.17.0

Le AbortSignal est utilisé pour notifier les observateurs lorsque la méthode abortController.abort() est appelée.

Méthode statique : AbortSignal.abort([reason])

[Historique]

VersionModifications
v17.2.0, v16.14.0Ajout du nouvel argument optionnel reason.
v15.12.0, v14.17.0Ajouté dans : v15.12.0, v14.17.0

Renvoie un nouvel AbortSignal déjà annulé.

Méthode statique : AbortSignal.timeout(delay)

Ajouté dans : v17.3.0, v16.14.0

  • delay <number> Le nombre de millisecondes à attendre avant de déclencher l'AbortSignal.

Renvoie un nouvel AbortSignal qui sera annulé dans delay millisecondes.

Méthode statique : AbortSignal.any(signals)

Ajouté dans : v20.3.0, v18.17.0

  • signals <AbortSignal[]> Les AbortSignal à partir desquels composer un nouvel AbortSignal.

Renvoie un nouvel AbortSignal qui sera annulé si l'un des signaux fournis est annulé. Sa abortSignal.reason sera définie sur celui des signals qui a provoqué son annulation.

Événement : 'abort'

Ajouté dans : v15.0.0, v14.17.0

L'événement 'abort' est émis lorsque la méthode abortController.abort() est appelée. Le callback est appelé avec un seul argument objet avec une seule propriété type définie sur 'abort' :

js
const ac = new AbortController();

// Utiliser soit la propriété onabort...
ac.signal.onabort = () => console.log('annulé!');

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

ac.abort();

L'AbortController auquel l'AbortSignal est associé ne déclenchera qu'une seule fois l'événement 'abort'. Nous recommandons que le code vérifie que l'attribut abortSignal.aborted est false avant d'ajouter un écouteur d'événements 'abort'.

Tous les écouteurs d'événements attachés à l'AbortSignal doivent utiliser l'option { once: true } (ou, si vous utilisez les API EventEmitter pour attacher un écouteur, utilisez la méthode once()) pour vous assurer que l'écouteur d'événements est supprimé dès que l'événement 'abort' est géré. Ne pas le faire peut entraîner des fuites de mémoire.

abortSignal.aborted

Ajouté dans : v15.0.0, v14.17.0

  • Type : <boolean> Vrai après que l'AbortController a été interrompu.

abortSignal.onabort

Ajouté dans : v15.0.0, v14.17.0

Une fonction de rappel optionnelle qui peut être définie par le code utilisateur pour être notifiée lorsque la fonction abortController.abort() a été appelée.

abortSignal.reason

Ajouté dans : v17.2.0, v16.14.0

Une raison optionnelle spécifiée lorsque le AbortSignal a été déclenché.

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

abortSignal.throwIfAborted()

Ajouté dans : v17.3.0, v16.17.0

Si abortSignal.aborted est true, lance abortSignal.reason.

Classe : Blob

Ajouté dans : v18.0.0

Voir <Blob>.

Classe : Buffer

Ajouté dans : v0.1.103

Utilisé pour gérer les données binaires. Voir la section du buffer.

Classe : ByteLengthQueuingStrategy

Ajouté dans : v18.0.0

[Stable: 1 - Experimental]

Stable: 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de ByteLengthQueuingStrategy.

__dirname

Cette variable peut sembler globale, mais elle ne l'est pas. Voir __dirname.

__filename

Cette variable peut sembler globale, mais elle ne l'est pas. Voir __filename.

atob(data)

Ajouté dans : v16.0.0

[Stable: 3 - Legacy]

Stable: 3 Stabilité : 3 - Hérité. Utilisez Buffer.from(data, 'base64') à la place.

Alias global pour buffer.atob().

BroadcastChannel

Ajouté dans : v18.0.0

Voir <BroadcastChannel>.

btoa(data)

Ajouté dans : v16.0.0

[Stable: 3 - Hérité]

Stable: 3 Stabilité : 3 - Hérité. Utilisez plutôt buf.toString('base64').

Alias global pour buffer.btoa().

clearImmediate(immediateObject)

Ajouté dans : v0.9.1

clearImmediate est décrit dans la section timers.

clearInterval(intervalObject)

Ajouté dans : v0.0.1

clearInterval est décrit dans la section timers.

clearTimeout(timeoutObject)

Ajouté dans : v0.0.1

clearTimeout est décrit dans la section timers.

CloseEvent

Ajouté dans : v23.0.0

La classe CloseEvent. Voir CloseEvent pour plus de détails.

Une implémentation compatible avec le navigateur de CloseEvent. Désactivez cette API avec l'indicateur CLI --no-experimental-websocket.

Classe : CompressionStream

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de CompressionStream.

console

Ajouté dans : v0.1.100

Utilisé pour afficher dans stdout et stderr. Voir la section console.

Classe : CountQueuingStrategy

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de CountQueuingStrategy.

Crypto

[Historique]

VersionModifications
v23.0.0N'est plus expérimental.
v19.0.0N'est plus derrière l'indicateur CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Ajouté dans : v17.6.0, v16.15.0

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable.

Une implémentation compatible avec le navigateur de <Crypto>. Cette variable globale est disponible uniquement si le binaire Node.js a été compilé en incluant la prise en charge du module node:crypto.

crypto

[Historique]

VersionModifications
v23.0.0N'est plus expérimental.
v19.0.0N'est plus derrière l'indicateur CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Ajouté dans : v17.6.0, v16.15.0

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable.

Une implémentation compatible avec le navigateur de l'API Web Crypto.

CryptoKey

[Historique]

VersionModifications
v23.0.0N'est plus expérimental.
v19.0.0N'est plus derrière l'indicateur CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Ajouté dans : v17.6.0, v16.15.0

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable.

Une implémentation compatible avec le navigateur de <CryptoKey>. Cette variable globale est disponible uniquement si le binaire Node.js a été compilé en incluant la prise en charge du module node:crypto.

CustomEvent

[Historique]

VersionModifications
v23.0.0N'est plus expérimental.
v22.1.0, v20.13.0CustomEvent est maintenant stable.
v19.0.0N'est plus derrière l'indicateur CLI --experimental-global-customevent.
v18.7.0, v16.17.0Ajouté dans : v18.7.0, v16.17.0

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable

Une implémentation compatible avec le navigateur de l'API Web CustomEvent.

Classe : DecompressionStream

Ajoutée dans : v18.0.0

[Stable: 1 - Experimental]

Stable: 1 Stable: 1 - Expérimental.

Une implémentation compatible avec le navigateur de DecompressionStream.

Event

[Historique]

VersionModifications
v15.4.0N'est plus expérimental.
v15.0.0Ajoutée dans : v15.0.0

Une implémentation compatible avec le navigateur de la classe Event. Consultez l'API EventTarget et Event pour plus de détails.

EventSource

Ajoutée dans : v22.3.0, v20.18.0

[Stable: 1 - Experimental]

Stable: 1 Stable: 1 - Expérimental. Activez cette API avec l'indicateur CLI --experimental-eventsource.

Une implémentation compatible avec le navigateur de la classe EventSource.

EventTarget

[Historique]

VersionModifications
v15.4.0N'est plus expérimental.
v15.0.0Ajoutée dans : v15.0.0

Une implémentation compatible avec le navigateur de la classe EventTarget. Consultez l'API EventTarget et Event pour plus de détails.

exports

Cette variable peut sembler globale, mais elle ne l'est pas. Voir exports.

fetch

[Historique]

VersionModifications
v21.0.0N'est plus expérimental.
v18.0.0N'est plus derrière l'indicateur CLI --experimental-fetch.
v17.5.0, v16.15.0Ajoutée dans : v17.5.0, v16.15.0

[Stable: 2 - Stable]

Stable: 2 Stable: 2 - Stable

Une implémentation compatible avec le navigateur de la fonction fetch().

Classe : File

Ajoutée dans : v20.0.0

Voir <File>.

Classe FormData

[Historique]

VersionModifications
v21.0.0N'est plus expérimental.
v18.0.0N'est plus derrière l'indicateur CLI --experimental-fetch.
v17.6.0, v16.15.0Ajouté dans : v17.6.0, v16.15.0

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable

Une implémentation compatible avec le navigateur de <FormData>.

global

Ajouté dans : v0.1.27

[Stable : 3 - Hérité]

Stable : 3 Stabilité : 3 - Hérité. Utilisez plutôt globalThis.

  • <Object> L'objet d'espace de noms global.

Dans les navigateurs, la portée de premier niveau a traditionnellement été la portée globale. Cela signifie que var something définira une nouvelle variable globale, sauf dans les modules ECMAScript. Dans Node.js, c'est différent. La portée de premier niveau n'est pas la portée globale ; var something à l'intérieur d'un module Node.js sera local à ce module, qu'il s'agisse d'un module CommonJS ou d'un module ECMAScript.

Classe Headers

[Historique]

VersionModifications
v21.0.0N'est plus expérimental.
v18.0.0N'est plus derrière l'indicateur CLI --experimental-fetch.
v17.5.0, v16.15.0Ajouté dans : v17.5.0, v16.15.0

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable

Une implémentation compatible avec le navigateur de <Headers>.

localStorage

Ajouté dans : v22.4.0

[Stable : 1 - Expérimental]

Stable : 1 Stabilité : 1 - Développement précoce.

Une implémentation compatible avec le navigateur de localStorage. Les données sont stockées non chiffrées dans le fichier spécifié par l'indicateur CLI --localstorage-file. La quantité maximale de données pouvant être stockées est de 10 Mo. Toute modification de ces données en dehors de l'API Web Storage n'est pas prise en charge. Activez cette API avec l'indicateur CLI --experimental-webstorage. Les données localStorage ne sont pas stockées par utilisateur ou par requête lorsqu'elles sont utilisées dans le contexte d'un serveur, elles sont partagées entre tous les utilisateurs et toutes les requêtes.

MessageChannel

Ajouté dans : v15.0.0

La classe MessageChannel. Voir MessageChannel pour plus de détails.

MessageEvent

Ajouté dans : v15.0.0

La classe MessageEvent. Voir MessageEvent pour plus de détails.

MessagePort

Ajouté dans : v15.0.0

La classe MessagePort. Voir MessagePort pour plus de détails.

module

Cette variable peut sembler globale, mais elle ne l’est pas. Voir module.

Ajouté dans : v21.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1.1 - Développement actif. Désactivez cette API avec l’indicateur CLI --no-experimental-global-navigator.

Une implémentation partielle de l’API Navigator.

Ajouté dans : v21.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1.1 - Développement actif. Désactivez cette API avec l’indicateur CLI --no-experimental-global-navigator.

Une implémentation partielle de window.navigator.

Ajouté dans : v21.0.0

La propriété en lecture seule navigator.hardwareConcurrency renvoie le nombre de processeurs logiques disponibles pour l’instance Node.js actuelle.

js
console.log(`Ce processus s’exécute sur ${navigator.hardwareConcurrency} processeurs logiques`);

Ajouté dans : v21.2.0

La propriété en lecture seule navigator.language renvoie une chaîne représentant la langue préférée de l’instance Node.js. La langue sera déterminée par la bibliothèque ICU utilisée par Node.js au moment de l’exécution en fonction de la langue par défaut du système d’exploitation.

La valeur représente la version de langue telle que définie dans RFC 5646.

La valeur de repli sur les builds sans ICU est 'en-US'.

js
console.log(`La langue préférée de l’instance Node.js a la balise '${navigator.language}'`);

Ajouté dans : v21.2.0

  • {Array

La propriété en lecture seule navigator.languages renvoie un tableau de chaînes représentant les langues préférées de l’instance Node.js. Par défaut, navigator.languages ne contient que la valeur de navigator.language, qui sera déterminée par la bibliothèque ICU utilisée par Node.js au moment de l’exécution en fonction de la langue par défaut du système d’exploitation.

La valeur de repli sur les versions sans ICU est ['en-US'].

js
console.log(`Les langues préférées sont '${navigator.languages}'`);

Ajouté dans : v21.2.0

La propriété en lecture seule navigator.platform renvoie une chaîne identifiant la plate-forme sur laquelle l’instance Node.js s’exécute.

js
console.log(`Ce processus s’exécute sur ${navigator.platform}`);

Ajouté dans : v21.1.0

La propriété en lecture seule navigator.userAgent renvoie un user agent composé du nom de l’environnement d’exécution et du numéro de version majeur.

js
console.log(`L’user-agent est ${navigator.userAgent}`); // Affiche "Node.js/21"

PerformanceEntry

Ajouté dans : v19.0.0

La classe PerformanceEntry. Voir PerformanceEntry pour plus de détails.

PerformanceMark

Ajouté dans : v19.0.0

La classe PerformanceMark. Voir PerformanceMark pour plus de détails.

PerformanceMeasure

Ajouté dans : v19.0.0

La classe PerformanceMeasure. Voir PerformanceMeasure pour plus de détails.

PerformanceObserver

Ajouté dans : v19.0.0

La classe PerformanceObserver. Voir PerformanceObserver pour plus de détails.

PerformanceObserverEntryList

Ajouté dans : v19.0.0

La classe PerformanceObserverEntryList. Voir PerformanceObserverEntryList pour plus de détails.

PerformanceResourceTiming

Ajouté dans : v19.0.0

La classe PerformanceResourceTiming. Voir PerformanceResourceTiming pour plus de détails.

performance

Ajouté dans : v16.0.0

L'objet perf_hooks.performance.

process

Ajouté dans : v0.1.7

L'objet process. Voir la section process object.

queueMicrotask(callback)

Ajouté dans : v11.0.0

  • callback <Function> Fonction à mettre en file d'attente.

La méthode queueMicrotask() met en file d'attente une microtâche pour invoquer callback. Si callback lève une exception, l'événement 'uncaughtException' de l'objet process sera émis.

La file d'attente des microtâches est gérée par V8 et peut être utilisée de la même manière que la file d'attente process.nextTick(), qui est gérée par Node.js. La file d'attente process.nextTick() est toujours traitée avant la file d'attente des microtâches à chaque tour de la boucle d'événements Node.js.

js
// Ici, `queueMicrotask()` est utilisé pour s'assurer que l'événement 'load' est toujours
// émis de manière asynchrone, et donc de manière cohérente. L'utilisation de
// `process.nextTick()` ici aurait pour conséquence que l'événement 'load' soit toujours émis
// avant toute autre tâche de promesse.

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

Ajouté dans : v18.0.0

[Stable: 1 - Experimental]

Stable: 1 Stability: 1 - Expérimental.

Une implémentation compatible avec le navigateur de ReadableByteStreamController.

Classe : ReadableStream

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stable: 1 - Expérimental.

Une implémentation compatible avec le navigateur de ReadableStream.

Classe : ReadableStreamBYOBReader

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stable: 1 - Expérimental.

Une implémentation compatible avec le navigateur de ReadableStreamBYOBReader.

Classe : ReadableStreamBYOBRequest

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stable: 1 - Expérimental.

Une implémentation compatible avec le navigateur de ReadableStreamBYOBRequest.

Classe : ReadableStreamDefaultController

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stable: 1 - Expérimental.

Une implémentation compatible avec le navigateur de ReadableStreamDefaultController.

Classe : ReadableStreamDefaultReader

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stable: 1 - Expérimental.

Une implémentation compatible avec le navigateur de ReadableStreamDefaultReader.

require()

Cette variable peut sembler globale, mais elle ne l’est pas. Voir require().

Response

[Historique]

VersionModifications
v21.0.0N’est plus expérimental.
v18.0.0N’est plus derrière l’indicateur CLI --experimental-fetch.
v17.5.0, v16.15.0Ajouté dans : v17.5.0, v16.15.0

[Stable: 2 - Stable]

Stable: 2 Stable: 2 - Stable

Une implémentation compatible avec le navigateur de <Response>.

Request

[Historique]

VersionModifications
v21.0.0N'est plus expérimental.
v18.0.0N'est plus masqué derrière l'indicateur CLI --experimental-fetch.
v17.5.0, v16.15.0Ajouté dans: v17.5.0, v16.15.0

[Stable: 2 - Stable]

Stable: 2 Stabilité: 2 - Stable

Une implémentation compatible avec le navigateur de <Request>.

sessionStorage

Ajouté dans: v22.4.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité: 1 - Développement précoce.

Une implémentation compatible avec le navigateur de sessionStorage. Les données sont stockées en mémoire, avec un quota de stockage de 10 Mo. Les données sessionStorage persistent uniquement dans le processus en cours d'exécution et ne sont pas partagées entre les workers.

setImmediate(callback[, ...args])

Ajouté dans: v0.9.1

setImmediate est décrit dans la section timers.

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

Ajouté dans: v0.0.1

setInterval est décrit dans la section timers.

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

Ajouté dans: v0.0.1

setTimeout est décrit dans la section timers.

Class: Storage

Ajouté dans: v22.4.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité: 1 - Développement précoce.

Une implémentation compatible avec le navigateur de Storage. Activez cette API avec l'indicateur CLI --experimental-webstorage.

structuredClone(value[, options])

Ajouté dans: v17.0.0

La méthode WHATWG structuredClone.

SubtleCrypto

[Historique]

VersionModifications
v19.0.0N'est plus derrière l'indicateur CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Ajouté dans : v17.6.0, v16.15.0

[Stable: 2 - Stable]

Stable: 2 Stabilité: 2 - Stable.

Une implémentation compatible navigateur de <SubtleCrypto>. Cette variable globale n'est disponible que si le binaire Node.js a été compilé en incluant la prise en charge du module node:crypto.

DOMException

Ajouté dans : v17.0.0

La classe WHATWG DOMException. Voir DOMException pour plus de détails.

TextDecoder

Ajouté dans : v11.0.0

La classe WHATWG TextDecoder. Voir la section TextDecoder.

Classe : TextDecoderStream

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de TextDecoderStream.

TextEncoder

Ajouté dans : v11.0.0

La classe WHATWG TextEncoder. Voir la section TextEncoder.

Classe : TextEncoderStream

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de TextEncoderStream.

Classe : TransformStream

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de TransformStream.

Classe : TransformStreamDefaultController

Ajouté dans : v18.0.0

[Stable: 1 - Expérimental]

Stable: 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de TransformStreamDefaultController.

URL

Ajoutée dans : v10.0.0

La classe URL de WHATWG. Voir la section URL.

URLSearchParams

Ajoutée dans : v10.0.0

La classe URLSearchParams de WHATWG. Voir la section URLSearchParams.

WebAssembly

Ajoutée dans : v8.0.0

L'objet qui sert d'espace de noms pour toutes les fonctionnalités liées à WebAssembly du W3C. Voir le Mozilla Developer Network pour l'utilisation et la compatibilité.

WebSocket

[Historique]

VersionModifications
v22.4.0N'est plus expérimental.
v22.0.0N'est plus masqué derrière l'indicateur CLI --experimental-websocket.
v21.0.0, v20.10.0Ajoutée dans : v21.0.0, v20.10.0

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable.

Une implémentation compatible avec le navigateur de WebSocket. Désactivez cette API avec l'indicateur CLI --no-experimental-websocket.

Classe : WritableStream

Ajoutée dans : v18.0.0

[Stable : 1 - Expérimental]

Stable : 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de WritableStream.

Classe : WritableStreamDefaultController

Ajoutée dans : v18.0.0

[Stable : 1 - Expérimental]

Stable : 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de WritableStreamDefaultController.

Classe : WritableStreamDefaultWriter

Ajoutée dans : v18.0.0

[Stable : 1 - Expérimental]

Stable : 1 Stabilité : 1 - Expérimental.

Une implémentation compatible avec le navigateur de WritableStreamDefaultWriter.