Objetos globales
Estos objetos están disponibles en todos los módulos.
Las siguientes variables pueden parecer globales, pero no lo son. Solo existen en el ámbito de los módulos CommonJS:
Los objetos enumerados aquí son específicos de Node.js. Hay objetos incorporados que forman parte del propio lenguaje JavaScript, que también son accesibles globalmente.
Clase: AbortController
[Historial]
Versión | Cambios |
---|---|
v15.4.0 | Ya no es experimental. |
v15.0.0, v14.17.0 | Agregado en: v15.0.0, v14.17.0 |
Una clase de utilidad que se utiliza para señalar la cancelación en las API seleccionadas basadas en Promise
. La API se basa en la API web AbortController
.
const ac = new AbortController();
ac.signal.addEventListener('abort', () => console.log('Aborted!'),
{ once: true });
ac.abort();
console.log(ac.signal.aborted); // Imprime true
abortController.abort([reason])
[Historial]
Versión | Cambios |
---|---|
v17.2.0, v16.14.0 | Se agregó el nuevo argumento de razón opcional. |
v15.0.0, v14.17.0 | Agregado en: v15.0.0, v14.17.0 |
reason
<any> Una razón opcional, recuperable en la propiedadreason
deAbortSignal
.
Activa la señal de anulación, lo que provoca que abortController.signal
emita el evento 'abort'
.
abortController.signal
Agregado en: v15.0.0, v14.17.0
- Tipo: <AbortSignal>
Clase: AbortSignal
Agregado en: v15.0.0, v14.17.0
- Se extiende: <EventTarget>
AbortSignal
se utiliza para notificar a los observadores cuando se llama al método abortController.abort()
.
Método estático: AbortSignal.abort([reason])
[Historial]
Versión | Cambios |
---|---|
v17.2.0, v16.14.0 | Se agregó el nuevo argumento opcional reason. |
v15.12.0, v14.17.0 | Agregado en: v15.12.0, v14.17.0 |
reason
: <any>- Devuelve: <AbortSignal>
Devuelve una nueva AbortSignal
ya abortada.
Método estático: AbortSignal.timeout(delay)
Agregado en: v17.3.0, v16.14.0
delay
<number> El número de milisegundos a esperar antes de activar AbortSignal.
Devuelve una nueva AbortSignal
que se abortará en delay
milisegundos.
Método estático: AbortSignal.any(signals)
Agregado en: v20.3.0, v18.17.0
signals
<AbortSignal[]> LasAbortSignal
s de las cuales componer una nuevaAbortSignal
.
Devuelve una nueva AbortSignal
que se abortará si alguna de las señales proporcionadas se aborta. Su abortSignal.reason
se establecerá en la que causó que se abortara de las signals
.
Evento: 'abort'
Agregado en: v15.0.0, v14.17.0
El evento 'abort'
se emite cuando se llama al método abortController.abort()
. La función de devolución de llamada se invoca con un único argumento de objeto con una única propiedad type
establecida en 'abort'
:
const ac = new AbortController();
// Use either the onabort property...
ac.signal.onabort = () => console.log('aborted!');
// Or the EventTarget API...
ac.signal.addEventListener('abort', (event) => {
console.log(event.type); // Prints 'abort'
}, { once: true });
ac.abort();
El AbortController
con el que está asociado el AbortSignal
solo activará el evento 'abort'
una vez. Recomendamos que el código verifique que el atributo abortSignal.aborted
sea false
antes de agregar un detector de eventos 'abort'
.
Cualquier detector de eventos adjunto al AbortSignal
debe usar la opción { once: true }
(o, si usa las API de EventEmitter
para adjuntar un detector, use el método once()
) para garantizar que el detector de eventos se elimine tan pronto como se maneje el evento 'abort'
. No hacerlo puede provocar pérdidas de memoria.
abortSignal.aborted
Agregado en: v15.0.0, v14.17.0
- Tipo: <boolean> Verdadero después de que se haya abortado el
AbortController
.
abortSignal.onabort
Agregado en: v15.0.0, v14.17.0
- Tipo: <Function>
Una función de devolución de llamada opcional que el código de usuario puede establecer para recibir una notificación cuando se haya llamado a la función abortController.abort()
.
abortSignal.reason
Agregado en: v17.2.0, v16.14.0
- Tipo: <any>
Una razón opcional especificada cuando se activó AbortSignal
.
const ac = new AbortController();
ac.abort(new Error('¡boom!'));
console.log(ac.signal.reason); // Error: ¡boom!
abortSignal.throwIfAborted()
Agregado en: v17.3.0, v16.17.0
Si abortSignal.aborted
es true
, lanza abortSignal.reason
.
Clase: Blob
Agregado en: v18.0.0
Ver <Blob>.
Clase: Buffer
Agregado en: v0.1.103
Se utiliza para manejar datos binarios. Ver la sección del buffer.
Clase: ByteLengthQueuingStrategy
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ByteLengthQueuingStrategy
.
__dirname
Esta variable puede parecer global pero no lo es. Ver __dirname
.
__filename
Esta variable puede parecer global pero no lo es. Ver __filename
.
atob(data)
Agregado en: v16.0.0
[Estable: 3 - Legado]
Estable: 3 Estabilidad: 3 - Legado. Utilice Buffer.from(data, 'base64')
en su lugar.
Alias global para buffer.atob()
.
BroadcastChannel
Añadido en: v18.0.0
Ver <BroadcastChannel>.
btoa(data)
Añadido en: v16.0.0
[Estable: 3 - Legado]
Estable: 3 Estabilidad: 3 - Legado. Use buf.toString('base64')
en su lugar.
Alias global para buffer.btoa()
.
clearImmediate(immediateObject)
Añadido en: v0.9.1
clearImmediate
se describe en la sección de temporizadores.
clearInterval(intervalObject)
Añadido en: v0.0.1
clearInterval
se describe en la sección de temporizadores.
clearTimeout(timeoutObject)
Añadido en: v0.0.1
clearTimeout
se describe en la sección de temporizadores.
CloseEvent
Añadido en: v23.0.0
La clase CloseEvent
. Ver CloseEvent
para más detalles.
Una implementación compatible con el navegador de CloseEvent
. Deshabilite esta API con el indicador de CLI --no-experimental-websocket
.
Clase: CompressionStream
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de CompressionStream
.
console
Añadido en: v0.1.100
Se utiliza para imprimir en stdout y stderr. Ver la sección console
.
Clase: CountQueuingStrategy
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de CountQueuingStrategy
.
Crypto
[Historia]
Versión | Cambios |
---|---|
v23.0.0 | Ya no es experimental. |
v19.0.0 | Ya no está detrás del flag de CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Agregado en: v17.6.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable.
Una implementación compatible con el navegador de <Crypto>. Esta global solo está disponible si el binario de Node.js fue compilado incluyendo soporte para el módulo node:crypto
.
crypto
[Historia]
Versión | Cambios |
---|---|
v23.0.0 | Ya no es experimental. |
v19.0.0 | Ya no está detrás del flag de CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Agregado en: v17.6.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable.
Una implementación compatible con el navegador de la Web Crypto API.
CryptoKey
[Historia]
Versión | Cambios |
---|---|
v23.0.0 | Ya no es experimental. |
v19.0.0 | Ya no está detrás del flag de CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Agregado en: v17.6.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable.
Una implementación compatible con el navegador de <CryptoKey>. Esta global solo está disponible si el binario de Node.js fue compilado incluyendo soporte para el módulo node:crypto
.
CustomEvent
[Historia]
Versión | Cambios |
---|---|
v23.0.0 | Ya no es experimental. |
v22.1.0, v20.13.0 | CustomEvent ahora es estable. |
v19.0.0 | Ya no está detrás del flag de CLI --experimental-global-customevent . |
v18.7.0, v16.17.0 | Agregado en: v18.7.0, v16.17.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable
Una implementación compatible con el navegador de la CustomEvent
Web API.
Clase: DecompressionStream
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de DecompressionStream
.
Event
[Historial]
Versión | Cambios |
---|---|
v15.4.0 | Ya no es experimental. |
v15.0.0 | Agregado en: v15.0.0 |
Una implementación compatible con el navegador de la clase Event
. Consulte la API EventTarget
y Event
para obtener más detalles.
EventSource
Agregado en: v22.3.0, v20.18.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental. Habilite esta API con el indicador CLI --experimental-eventsource
.
Una implementación compatible con el navegador de la clase EventSource
.
EventTarget
[Historial]
Versión | Cambios |
---|---|
v15.4.0 | Ya no es experimental. |
v15.0.0 | Agregado en: v15.0.0 |
Una implementación compatible con el navegador de la clase EventTarget
. Consulte la API EventTarget
y Event
para obtener más detalles.
exports
Esta variable puede parecer global, pero no lo es. Consulte exports
.
fetch
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Ya no es experimental. |
v18.0.0 | Ya no está detrás del indicador CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Agregado en: v17.5.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable
Una implementación compatible con el navegador de la función fetch()
.
Clase: File
Agregado en: v20.0.0
Consulte <File>.
Clase FormData
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Ya no es experimental. |
v18.0.0 | Ya no está detrás del flag CLI --experimental-fetch . |
v17.6.0, v16.15.0 | Añadido en: v17.6.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable
Una implementación compatible con el navegador de <FormData>.
global
Añadido en: v0.1.27
[Estable: 3 - Legado]
Estable: 3 Estabilidad: 3 - Legado. Utilice globalThis
en su lugar.
- <Object> El objeto de espacio de nombres global.
En los navegadores, el alcance de nivel superior ha sido tradicionalmente el alcance global. Esto significa que var algo
definirá una nueva variable global, excepto dentro de los módulos ECMAScript. En Node.js, esto es diferente. El alcance de nivel superior no es el alcance global; var algo
dentro de un módulo Node.js será local a ese módulo, independientemente de si es un módulo CommonJS o un módulo ECMAScript.
Clase Headers
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Ya no es experimental. |
v18.0.0 | Ya no está detrás del flag CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Añadido en: v17.5.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable
Una implementación compatible con el navegador de <Headers>.
localStorage
Añadido en: v22.4.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1.0 - Desarrollo temprano.
Una implementación compatible con el navegador de localStorage
. Los datos se almacenan sin cifrar en el archivo especificado por el flag CLI --localstorage-file
. La cantidad máxima de datos que se pueden almacenar es de 10 MB. No se admite ninguna modificación de estos datos fuera de la API de Web Storage. Habilite esta API con el flag CLI --experimental-webstorage
. Los datos de localStorage
no se almacenan por usuario o por solicitud cuando se utilizan en el contexto de un servidor, se comparten entre todos los usuarios y solicitudes.
MessageChannel
Añadido en: v15.0.0
La clase MessageChannel
. Ver MessageChannel
para más detalles.
MessageEvent
Añadido en: v15.0.0
La clase MessageEvent
. Ver MessageEvent
para más detalles.
MessagePort
Añadido en: v15.0.0
La clase MessagePort
. Ver MessagePort
para más detalles.
module
Esta variable puede parecer global, pero no lo es. Ver module
.
Navigator
Añadido en: v21.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1.1 - Desarrollo activo. Deshabilita esta API con el flag de la CLI --no-experimental-global-navigator
.
Una implementación parcial de la API Navigator.
navigator
Añadido en: v21.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1.1 - Desarrollo activo. Deshabilita esta API con el flag de la CLI --no-experimental-global-navigator
.
Una implementación parcial de window.navigator
.
navigator.hardwareConcurrency
Añadido en: v21.0.0
La propiedad de sólo lectura navigator.hardwareConcurrency
devuelve el número de procesadores lógicos disponibles para la instancia actual de Node.js.
console.log(`Este proceso se está ejecutando en ${navigator.hardwareConcurrency} procesadores lógicos`);
navigator.language
Añadido en: v21.2.0
La propiedad de sólo lectura navigator.language
devuelve una cadena que representa el idioma preferido de la instancia de Node.js. El idioma será determinado por la biblioteca ICU utilizada por Node.js en tiempo de ejecución basándose en el idioma predeterminado del sistema operativo.
El valor representa la versión del idioma tal como se define en RFC 5646.
El valor de reserva en compilaciones sin ICU es 'en-US'
.
console.log(`El idioma preferido de la instancia de Node.js tiene la etiqueta '${navigator.language}'`);
navigator.languages
Añadido en: v21.2.0
- {Array
La propiedad de solo lectura navigator.languages
devuelve una array de cadenas que representan los idiomas preferidos de la instancia de Node.js. De forma predeterminada, navigator.languages
contiene solo el valor de navigator.language
, que será determinado por la biblioteca ICU utilizada por Node.js en tiempo de ejecución basándose en el idioma predeterminado del sistema operativo.
El valor de respaldo en compilaciones sin ICU es ['en-US']
.
console.log(`Los idiomas preferidos son '${navigator.languages}'`);
navigator.platform
Añadido en: v21.2.0
La propiedad de solo lectura navigator.platform
devuelve una cadena que identifica la plataforma en la que se está ejecutando la instancia de Node.js.
console.log(`Este proceso se está ejecutando en ${navigator.platform}`);
navigator.userAgent
Añadido en: v21.1.0
La propiedad de solo lectura navigator.userAgent
devuelve un agente de usuario que consiste en el nombre del tiempo de ejecución y el número de versión principal.
console.log(`El agente de usuario es ${navigator.userAgent}`); // Imprime "Node.js/21"
PerformanceEntry
Añadido en: v19.0.0
La clase PerformanceEntry
. Ver PerformanceEntry
para más detalles.
PerformanceMark
Añadido en: v19.0.0
La clase PerformanceMark
. Ver PerformanceMark
para más detalles.
PerformanceMeasure
Añadido en: v19.0.0
La clase PerformanceMeasure
. Ver PerformanceMeasure
para más detalles.
PerformanceObserver
Añadido en: v19.0.0
La clase PerformanceObserver
. Ver PerformanceObserver
para más detalles.
PerformanceObserverEntryList
Añadido en: v19.0.0
La clase PerformanceObserverEntryList
. Ver PerformanceObserverEntryList
para más detalles.
PerformanceResourceTiming
Agregado en: v19.0.0
La clase PerformanceResourceTiming
. Véase PerformanceResourceTiming
para más detalles.
performance
Agregado en: v16.0.0
El objeto perf_hooks.performance
.
process
Agregado en: v0.1.7
El objeto process. Ver la sección process
object.
queueMicrotask(callback)
Agregado en: v11.0.0
callback
<Function> Función para ser encolada.
El método queueMicrotask()
encola una microtarea para invocar callback
. Si callback
lanza una excepción, el evento 'uncaughtException'
del process
object será emitido.
La cola de microtareas es gestionada por V8 y puede ser usada de manera similar a la cola process.nextTick()
, la cual es gestionada por Node.js. La cola process.nextTick()
siempre es procesada antes de la cola de microtareas dentro de cada vuelta del bucle de eventos de Node.js.
// Aquí, `queueMicrotask()` es usado para asegurar que el evento 'load' siempre
// es emitido asíncronamente, y por lo tanto consistentemente. Usar
// `process.nextTick()` aquí resultaría en que el evento 'load' siempre se emitiera
// antes de cualquier otro trabajo de promesa.
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);
};
Clase: ReadableByteStreamController
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ReadableByteStreamController
.
Clase: ReadableStream
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ReadableStream
.
Clase: ReadableStreamBYOBReader
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ReadableStreamBYOBReader
.
Clase: ReadableStreamBYOBRequest
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ReadableStreamBYOBRequest
.
Clase: ReadableStreamDefaultController
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ReadableStreamDefaultController
.
Clase: ReadableStreamDefaultReader
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ReadableStreamDefaultReader
.
require()
Esta variable puede parecer global, pero no lo es. Consulte require()
.
Response
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Ya no es experimental. |
v18.0.0 | Ya no está detrás del flag de la CLI --experimental-fetch . |
v17.5.0, v16.15.0 | Añadido en: v17.5.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable
Una implementación compatible con el navegador de <Response>.
Request
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Ya no es experimental. |
v18.0.0 | Ya no está detrás del flag --experimental-fetch de la CLI. |
v17.5.0, v16.15.0 | Añadido en: v17.5.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable
Una implementación compatible con el navegador de <Request>.
sessionStorage
Añadido en: v22.4.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1.0 - Desarrollo temprano.
Una implementación compatible con el navegador de sessionStorage
. Los datos se almacenan en la memoria, con una cuota de almacenamiento de 10 MB. Los datos de sessionStorage
persisten solo dentro del proceso en ejecución actual y no se comparten entre los workers.
setImmediate(callback[, ...args])
Añadido en: v0.9.1
setImmediate
se describe en la sección de timers.
setInterval(callback, delay[, ...args])
Añadido en: v0.0.1
setInterval
se describe en la sección de timers.
setTimeout(callback, delay[, ...args])
Añadido en: v0.0.1
setTimeout
se describe en la sección de timers.
Clase: Storage
Añadido en: v22.4.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1.0 - Desarrollo temprano.
Una implementación compatible con el navegador de Storage
. Habilite esta API con el flag de la CLI --experimental-webstorage
.
structuredClone(value[, options])
Añadido en: v17.0.0
El método WHATWG structuredClone
.
SubtleCrypto
[Historial]
Versión | Cambios |
---|---|
v19.0.0 | Ya no está detrás del indicador de CLI --experimental-global-webcrypto . |
v17.6.0, v16.15.0 | Añadido en: v17.6.0, v16.15.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable.
Una implementación compatible con el navegador de <SubtleCrypto>. Este global está disponible solo si el binario de Node.js se compiló incluyendo soporte para el módulo node:crypto
.
DOMException
Añadido en: v17.0.0
La clase DOMException
de WHATWG. Consulte DOMException
para obtener más detalles.
TextDecoder
Añadido en: v11.0.0
La clase TextDecoder
de WHATWG. Consulte la sección TextDecoder
.
Clase: TextDecoderStream
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de TextDecoderStream
.
TextEncoder
Añadido en: v11.0.0
La clase TextEncoder
de WHATWG. Consulte la sección TextEncoder
.
Clase: TextEncoderStream
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de TextEncoderStream
.
Clase: TransformStream
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de TransformStream
.
Clase: TransformStreamDefaultController
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de TransformStreamDefaultController
.
URL
Añadido en: v10.0.0
La clase URL
de WHATWG. Vea la sección URL
.
URLSearchParams
Añadido en: v10.0.0
La clase URLSearchParams
de WHATWG. Vea la sección URLSearchParams
.
WebAssembly
Añadido en: v8.0.0
El objeto que actúa como espacio de nombres para toda la funcionalidad relacionada con WebAssembly de W3C. Consulte la Red de Desarrolladores de Mozilla para obtener información sobre el uso y la compatibilidad.
WebSocket
[Historial]
Versión | Cambios |
---|---|
v22.4.0 | Ya no es experimental. |
v22.0.0 | Ya no está detrás del indicador CLI --experimental-websocket . |
v21.0.0, v20.10.0 | Añadido en: v21.0.0, v20.10.0 |
[Estable: 2 - Estable]
Estable: 2 Estabilidad: 2 - Estable.
Una implementación compatible con el navegador de WebSocket
. Deshabilite esta API con el indicador CLI --no-experimental-websocket
.
Clase: WritableStream
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de WritableStream
.
Clase: WritableStreamDefaultController
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de WritableStreamDefaultController
.
Clase: WritableStreamDefaultWriter
Añadido en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de WritableStreamDefaultWriter
.