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, et 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 l'annulation dans les API basées sur Promise sélectionnées. L'API est basée sur l'API Web AbortController.

js
const ac = new AbortController()

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

ac.abort()

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

abortController.abort([reason])

[Historique]

VersionModifications
v17.2.0, v16.14.0Ajout du nouvel argument facultatif reason.
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 AbortSignal.

Déclenche le signal d'annulation, ce qui fait que abortController.signal émet l'événement 'abort'.

abortController.signal

Ajouté dans : v15.0.0, v14.17.0

Classe : AbortSignal

Ajouté dans : v15.0.0, v14.17.0

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 facultatif reason.
v15.12.0, v14.17.0Ajouté dans : v15.12.0, v14.17.0

Retourne un nouveau AbortSignal déjà interrompu.

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 le AbortSignal.

Retourne un nouveau AbortSignal qui sera interrompu 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 nouveau AbortSignal.

Retourne un nouveau AbortSignal qui sera interrompu si l'un des signaux fournis est interrompu. Son attribut abortSignal.reason sera défini sur celui des signals qui a provoqué son interruption.

É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 rappel est invoqué avec un seul argument objet avec une seule propriété type définie sur 'abort' :

js
const ac = new AbortController()

// Utilisez soit la propriété onabort...
ac.signal.onabort = () => console.log('aborted!')

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

ac.abort()

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

Tous les écouteurs d'événements attachés au AbortSignal doivent utiliser l'option { once: true } (ou, si vous utilisez les API EventEmitter pour attacher un écouteur, utilisez la méthode once()) pour garantir 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 AbortController a été interrompu.

abortSignal.onabort

Ajouté dans : v15.0.0, v14.17.0

Une fonction de rappel facultative 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 facultative spécifiée lorsque 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, lève 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 buffer.

Classe : ByteLengthQueuingStrategy

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible navigateur de ByteLengthQueuingStrategy.

__dirname

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

__filename

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

atob(data)

Ajouté dans : v16.0.0

[Stable : 3 - Hérité]

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 buf.toString('base64') à la place.

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 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 navigateur de CompressionStream.

console

Ajouté dans : v0.1.100

Utilisé pour imprimer sur 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 navigateur de CountQueuingStrategy.

Crypto

[Historique]

VersionModifications
v23.0.0Plus expérimental.
v19.0.0Plus 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 Stability : 2 - Stable.

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

crypto

[Historique]

VersionModifications
v23.0.0Plus expérimental.
v19.0.0Plus 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 Stability : 2 - Stable.

Une implémentation compatible avec les navigateurs de l'API Web Crypto.

CryptoKey

[Historique]

VersionModifications
v23.0.0Plus expérimental.
v19.0.0Plus 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 Stability : 2 - Stable.

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

CustomEvent

[Historique]

VersionModifications
v23.0.0Plus expérimental.
v22.1.0, v20.13.0CustomEvent est maintenant stable.
v19.0.0Plus 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 Stability : 2 - Stable

Une implémentation compatible avec les navigateurs de l'API Web CustomEvent.

Classe : DecompressionStream

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible navigateur de DecompressionStream.

Event

[Historique]

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

Une implémentation compatible navigateur de la classe Event. Voir EventTarget et API Event pour plus de détails.

EventSource

Ajouté dans : v22.3.0, v20.18.0

[Stable : 1 - Expérimental]

Stable : 1 Stabilité : 1 - Expérimental. Activez cette API avec l'indicateur de ligne de commande --experimental-eventsource.

Une implémentation compatible navigateur de la classe EventSource.

EventTarget

[Historique]

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

Une implémentation compatible navigateur de la classe EventTarget. Voir EventTarget et API Event pour plus de détails.

exports

Cette variable peut sembler globale mais 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 de ligne de commande --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 navigateur de la fonction fetch().

Classe : File

Ajouté dans : v20.0.0

Voir <File>.

Classe FormData

[Historique]

VersionModifications
v21.0.0Plus expérimental.
v18.0.0Plus 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 les navigateurs de <FormData>.

global

Ajouté dans : v0.1.27

[Stable : 3 - Hérité]

Stable : 3 Stabilité : 3 - Hérité. Utilisez globalThis à la place.

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

Dans les navigateurs, la portée de niveau supérieur 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 niveau supérieur 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.0Plus expérimental.
v18.0.0Plus 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 les navigateurs de <Headers>.

localStorage

Ajouté dans : v22.4.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs 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 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 de caractères 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 linguistique telle que définie dans la RFC 5646.

La valeur par défaut sur les builds sans ICU est 'en-US'.

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

Ajouté dans : v21.2.0

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 contient uniquement 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 secours sur les builds 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 plateforme 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 l'agent utilisateur constitué du nom de l'environnement d'exécution et du numéro de version principale.

js
console.log(`L'agent utilisateur 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 <Fonction> Fonction à mettre en file d'attente.

La méthode queueMicrotask() met en file d'attente une microtâche pour appeler 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 manière similaire à 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 garantir 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 entraînerait l'émission de l'événement 'load' toujours
// avant toute autre tâche 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

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de ReadableByteStreamController.

Classe : ReadableStream

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de ReadableStream.

Classe : ReadableStreamBYOBReader

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de ReadableStreamBYOBReader.

Classe : ReadableStreamBYOBRequest

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de ReadableStreamBYOBRequest.

Classe : ReadableStreamDefaultController

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de ReadableStreamDefaultController.

Classe : ReadableStreamDefaultReader

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de ReadableStreamDefaultReader.

require()

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

Response

[Historique]

VersionModifications
v21.0.0Plus expérimental.
v18.0.0Plus 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 les navigateurs de <Response>.

Request

[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 les navigateurs de <Request>.

sessionStorage

Ajouté dans : v22.4.0

[Stable : 1 - Expérimental]

Stable : 1 Stabilité : 1.0 - Développement préliminaire.

Une implémentation compatible avec les navigateurs 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 minuteurs.

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

Ajouté dans : v0.0.1

setInterval est décrit dans la section minuteurs.

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

Ajouté dans : v0.0.1

setTimeout est décrit dans la section minuteurs.

Classe : Storage

Ajouté dans : v22.4.0

[Stable : 1 - Expérimental]

Stable : 1 Stabilité : 1.0 - Développement préliminaire.

Une implémentation compatible avec les navigateurs 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 globale est disponible uniquement si le binaire Node.js a été compilé avec l'inclusion du support pour le module node:crypto.

DOMException

Ajouté dans : v17.0.0

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

TextDecoder

Ajouté dans : v11.0.0

La classe TextDecoder WHATWG. 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 navigateur de TextDecoderStream.

TextEncoder

Ajouté dans : v11.0.0

La classe TextEncoder WHATWG. 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 navigateur de TextEncoderStream.

Classe : TransformStream

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible navigateur de TransformStream.

Classe : TransformStreamDefaultController

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible navigateur de TransformStreamDefaultController.

URL

Ajouté dans : v10.0.0

La classe WHATWG URL. Voir la section URL.

URLSearchParams

Ajouté dans : v10.0.0

La classe WHATWG URLSearchParams. Voir la section URLSearchParams.

WebAssembly

Ajouté dans : v8.0.0

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

WebSocket

[Historique]

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

[Stable : 2 - Stable]

Stable : 2 Stabilité : 2 - Stable.

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

Classe : WritableStream

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de WritableStream.

Classe : WritableStreamDefaultController

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de WritableStreamDefaultController.

Classe : WritableStreamDefaultWriter

Ajouté dans : v18.0.0

[Stable : 1 - Expérimental]

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

Une implémentation compatible avec les navigateurs de WritableStreamDefaultWriter.