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]
Version | Modifications |
---|---|
v15.4.0 | N’est plus expérimental. |
v15.0.0, v14.17.0 | Ajouté 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
.
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]
Version | Modifications |
---|---|
v17.2.0, v16.14.0 | Ajout de l’argument de raison facultatif. |
v15.0.0, v14.17.0 | Ajouté 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
- Type : <AbortSignal>
Classe : AbortSignal
Ajouté dans : v15.0.0, v14.17.0
- Étend : <EventTarget>
Le AbortSignal
est utilisé pour notifier les observateurs lorsque la méthode abortController.abort()
est appelée.
Méthode statique : AbortSignal.abort([reason])
[Historique]
Version | Modifications |
---|---|
v17.2.0, v16.14.0 | Ajout du nouvel argument optionnel reason. |
v15.12.0, v14.17.0 | Ajouté dans : v15.12.0, v14.17.0 |
reason
: <any>- Renvoie : <AbortSignal>
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[]> LesAbortSignal
à partir desquels composer un nouvelAbortSignal
.
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'
:
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
- Type : <Function>
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
- Type : <any>
Une raison optionnelle spécifiée lorsque le AbortSignal
a été déclenché.
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]
Version | Modifications |
---|---|
v23.0.0 | N'est plus expérimental. |
v19.0.0 | N'est plus derrière l'indicateur CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Ajouté 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]
Version | Modifications |
---|---|
v23.0.0 | N'est plus expérimental. |
v19.0.0 | N'est plus derrière l'indicateur CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Ajouté 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]
Version | Modifications |
---|---|
v23.0.0 | N'est plus expérimental. |
v19.0.0 | N'est plus derrière l'indicateur CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Ajouté 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]
Version | Modifications |
---|---|
v23.0.0 | N'est plus expérimental. |
v22.1.0, v20.13.0 | CustomEvent est maintenant stable. |
v19.0.0 | N'est plus derrière l'indicateur CLI --experimental-global-customevent . |
v18.7.0, v16.17.0 | Ajouté 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
Une implémentation compatible avec le navigateur de DecompressionStream
.
Event
[Historique]
Version | Modifications |
---|---|
v15.4.0 | N'est plus expérimental. |
v15.0.0 | Ajouté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]
Version | Modifications |
---|---|
v15.4.0 | N'est plus expérimental. |
v15.0.0 | Ajouté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]
Version | Modifications |
---|---|
v21.0.0 | N'est plus expérimental. |
v18.0.0 | N'est plus derrière l'indicateur CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Ajoutée dans : v17.5.0, v16.15.0 |
Une implémentation compatible avec le navigateur de la fonction fetch()
.
Classe : File
Ajoutée dans : v20.0.0
Voir <File>.
Classe FormData
[Historique]
Version | Modifications |
---|---|
v21.0.0 | N'est plus expérimental. |
v18.0.0 | N'est plus derrière l'indicateur CLI --experimental-fetch . |
v17.6.0, v16.15.0 | Ajouté 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]
Version | Modifications |
---|---|
v21.0.0 | N'est plus expérimental. |
v18.0.0 | N'est plus derrière l'indicateur CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Ajouté 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
.
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 l’API Navigator.
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
.
navigator.hardwareConcurrency
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.
console.log(`Ce processus s’exécute sur ${navigator.hardwareConcurrency} processeurs logiques`);
navigator.language
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'
.
console.log(`La langue préférée de l’instance Node.js a la balise '${navigator.language}'`);
navigator.languages
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']
.
console.log(`Les langues préférées sont '${navigator.languages}'`);
navigator.platform
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.
console.log(`Ce processus s’exécute sur ${navigator.platform}`);
navigator.userAgent
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.
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.
// 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
Une implémentation compatible avec le navigateur de ReadableStream
.
Classe : ReadableStreamBYOBReader
Ajouté dans : v18.0.0
Une implémentation compatible avec le navigateur de ReadableStreamBYOBReader
.
Classe : ReadableStreamBYOBRequest
Ajouté dans : v18.0.0
Une implémentation compatible avec le navigateur de ReadableStreamBYOBRequest
.
Classe : ReadableStreamDefaultController
Ajouté dans : v18.0.0
Une implémentation compatible avec le navigateur de ReadableStreamDefaultController
.
Classe : ReadableStreamDefaultReader
Ajouté dans : v18.0.0
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]
Version | Modifications |
---|---|
v21.0.0 | N’est plus expérimental. |
v18.0.0 | N’est plus derrière l’indicateur CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Ajouté dans : v17.5.0, v16.15.0 |
Une implémentation compatible avec le navigateur de <Response>.
Request
[Historique]
Version | Modifications |
---|---|
v21.0.0 | N'est plus expérimental. |
v18.0.0 | N'est plus masqué derrière l'indicateur CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Ajouté 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]
Version | Modifications |
---|---|
v19.0.0 | N'est plus derrière l'indicateur CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Ajouté 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]
Version | Modifications |
---|---|
v22.4.0 | N'est plus expérimental. |
v22.0.0 | N'est plus masqué derrière l'indicateur CLI --experimental-websocket . |
v21.0.0, v20.10.0 | Ajouté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
.