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 listados 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 | Añadido en: v15.0.0, v14.17.0 |
Una clase de utilidad utilizada para señalar la cancelación en ciertas API basadas en Promise
. La API se basa en la API web AbortController
.
const ac = new AbortController()
ac.signal.addEventListener('abort', () => console.log('¡Cancelado!'), { 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 añadió el nuevo argumento opcional reason. |
v15.0.0, v14.17.0 | Se añadió en: v15.0.0, v14.17.0 |
reason
<any> Una razón opcional, recuperable en la propiedadreason
delAbortSignal
.
Activa la señal de aborto, causando que el abortController.signal
emita el evento 'abort'
.
abortController.signal
Añadido en: v15.0.0, v14.17.0
- Tipo: <AbortSignal>
Clase: AbortSignal
Añadido en: v15.0.0, v14.17.0
- Extiende: <EventTarget>
El 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 añadió el nuevo argumento opcional reason. |
v15.12.0, v14.17.0 | Se añadió en: v15.12.0, v14.17.0 |
reason
: <any>- Devuelve: <AbortSignal>
Devuelve un nuevo AbortSignal
ya abortado.
Método estático: AbortSignal.timeout(delay)
Agregado en: v17.3.0, v16.14.0
delay
<number> El número de milisegundos que se deben esperar antes de activar AbortSignal.
Devuelve un nuevo AbortSignal
que se abortará en delay
milisegundos.
Método estático: AbortSignal.any(signals)
Agregado en: v20.3.0, v18.17.0
signals
<AbortSignal[]> LosAbortSignal
de los cuales se compondrá un nuevoAbortSignal
.
Devuelve un nuevo AbortSignal
que se abortará si alguno de los señales proporcionados se aborta. Su abortSignal.reason
se establecerá en cualquiera de las signals
que causó su aborto.
Evento: 'abort'
Agregado en: v15.0.0, v14.17.0
El evento 'abort'
se emite cuando se llama al método abortController.abort()
. La devolución de llamada se invoca con un solo argumento de objeto con una sola propiedad type
establecida en 'abort'
:
const ac = new AbortController()
// Use la propiedad onabort...
ac.signal.onabort = () => console.log('¡abortado!')
// O la API EventTarget...
ac.signal.addEventListener(
'abort',
event => {
console.log(event.type) // Imprime '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 EventEmitter
para adjuntar un detector, use el método once()
) para asegurarse de que el detector de eventos se elimine tan pronto como se maneje el evento 'abort'
. No hacerlo puede provocar fugas de memoria.
abortSignal.aborted
Agregado en: v15.0.0, v14.17.0
- Tipo: <boolean> Verdadero después de que el
AbortController
haya sido abortado.
abortSignal.onabort
Agregado en: v15.0.0, v14.17.0
- Tipo: <Function>
Una función de devolución de llamada opcional que puede ser establecida por el código de usuario para ser notificado cuando la función abortController.abort()
ha sido llamada.
abortSignal.reason
Agregado en: v17.2.0, v16.14.0
- Tipo: <any>
Una razón opcional especificada cuando el AbortSignal
fue disparado.
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 de 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. Use Buffer.from(data, 'base64')
en su lugar.
Alias global para buffer.atob()
.
BroadcastChannel
Agregado en: v18.0.0
Ver <BroadcastChannel>.
btoa(data)
Agregado en: v16.0.0
[Estable: 3 - Legado]
Estable: 3 Estabilidad: 3 - Legado. Usar buf.toString('base64')
en su lugar.
Alias global para buffer.btoa()
.
clearImmediate(immediateObject)
Agregado en: v0.9.1
clearImmediate
se describe en la sección de temporizadores.
clearInterval(intervalObject)
Agregado en: v0.0.1
clearInterval
se describe en la sección de temporizadores.
clearTimeout(timeoutObject)
Agregado en: v0.0.1
clearTimeout
se describe en la sección de temporizadores.
CloseEvent
Agregado 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
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de CompressionStream
.
console
Agregado en: v0.1.100
Se utiliza para imprimir en stdout y stderr. Consulta la sección console
.
Clase: CountQueuingStrategy
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de CountQueuingStrategy
.
Crypto
[Historial]
Versión | Cambios |
---|---|
v23.0.0 | Ya no es experimental. |
v19.0.0 | Ya no está detrás del indicador 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>. Este global solo está disponible si el binario de Node.js se compiló incluyendo soporte para el módulo node:crypto
.
crypto
[Historial]
Versión | Cambios |
---|---|
v23.0.0 | Ya no es experimental. |
v19.0.0 | Ya no está detrás del indicador 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 la API Web Crypto.
CryptoKey
[Historial]
Versión | Cambios |
---|---|
v23.0.0 | Ya no es experimental. |
v19.0.0 | Ya no está detrás del indicador 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 <CryptoKey>. Este global solo está disponible si el binario de Node.js se compiló incluyendo soporte para el módulo node:crypto
.
CustomEvent
[Historial]
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 de la bandera 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 EventTarget
y Event
API 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 EventTarget
y la API 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
Añadido en: v20.0.0
Ver <File>.
Clase FormData
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Ya no es experimental. |
v18.0.0 | Ya no está detrás de la flag de 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. Utilizar globalThis
en su lugar.
- <Object> El objeto del espacio de nombres global.
En los navegadores, el ámbito de nivel superior ha sido tradicionalmente el ámbito 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 ámbito de nivel superior no es el ámbito global; var algo
dentro de un módulo de 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 indicador 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 indicador 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 almacenamiento web. Habilite esta API con el indicador CLI --experimental-webstorage
. Los datos de localStorage
no se almacenan por usuario o por solicitud cuando se usan en el contexto de un servidor, se comparten entre todos los usuarios y solicitudes.
MessageChannel
Añadido en: v15.0.0
La clase MessageChannel
. Para más detalles, consulta MessageChannel
.
MessageEvent
Añadido en: v15.0.0
La clase MessageEvent
. Para más detalles, consulta MessageEvent
.
MessagePort
Añadido en: v15.0.0
La clase MessagePort
. Para más detalles, consulta MessagePort
.
module
Esta variable puede parecer global, pero no lo es. Para más detalles, consulta 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
Agregado en: v21.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1.1 - Desarrollo activo. Deshabilite esta API con el flag CLI --no-experimental-global-navigator
.
Una implementación parcial de window.navigator
.
navigator.hardwareConcurrency
Agregado en: v21.0.0
La propiedad de solo 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
Agregado en: v21.2.0
La propiedad de solo 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 respaldo en las compilaciones sin ICU es 'en-US'
.
console.log(`El idioma preferido de la instancia de Node.js tiene la etiqueta '${navigator.language}'`)
navigator.languages
Agregado en: v21.2.0
- {Array
La propiedad de solo lectura navigator.languages
devuelve un array de strings que representan los idiomas preferidos de la instancia de Node.js. Por defecto, 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 las compilaciones sin ICU es ['en-US']
.
console.log(`Los idiomas preferidos son '${navigator.languages}'`)
navigator.platform
Agregado en: v21.2.0
La propiedad de solo lectura navigator.platform
devuelve un string 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
Agregado en: v21.1.0
La propiedad de solo lectura navigator.userAgent
devuelve el 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
. Consulte PerformanceEntry
para obtener más detalles.
PerformanceMark
Añadido en: v19.0.0
La clase PerformanceMark
. Consulte PerformanceMark
para obtener más detalles.
PerformanceMeasure
Añadido en: v19.0.0
La clase PerformanceMeasure
. Consulte PerformanceMeasure
para obtener más detalles.
PerformanceObserver
Añadido en: v19.0.0
La clase PerformanceObserver
. Consulte PerformanceObserver
para obtener más detalles.
PerformanceObserverEntryList
Añadido en: v19.0.0
La clase PerformanceObserverEntryList
. Consulte PerformanceObserverEntryList
para obtener más detalles.
PerformanceResourceTiming
Añadido en: v19.0.0
La clase PerformanceResourceTiming
. Consulte PerformanceResourceTiming
para obtener más detalles.
performance
Agregado en: v16.0.0
El objeto perf_hooks.performance
.
process
Agregado en: v0.1.7
El objeto process. Consulta la sección del objeto process
.
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, se emitirá el evento 'uncaughtException'
del objeto process
.
La cola de microtareas es gestionada por V8 y puede ser usada de forma similar a la cola process.nextTick()
, la cual es gestionada por Node.js. La cola process.nextTick()
siempre se procesa antes que la cola de microtareas en cada vuelta del bucle de eventos de Node.js.
// Aquí, `queueMicrotask()` es usado para asegurar que el evento 'load' siempre
// se emita de forma asíncrona, y por lo tanto de forma consistente. Usar
// `process.nextTick()` aquí resultaría en que el evento 'load' siempre se emita
// antes que 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
Añadido 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
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de ReadableStreamDefaultController
.
Clase: ReadableStreamDefaultReader
Agregado 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 --experimental-fetch de la CLI. |
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 <Response>.
Request
[Historial]
Versión | Cambios |
---|---|
v21.0.0 | Ya no es experimental. |
v18.0.0 | Ya no está detrás del flag de 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 <Request>.
sessionStorage
Agregado 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 trabajadores.
setImmediate(callback[, ...args])
Agregado en: v0.9.1
setImmediate
se describe en la sección de temporizadores.
setInterval(callback, delay[, ...args])
Añadido en: v0.0.1
setInterval
se describe en la sección de temporizadores.
setTimeout(callback, delay[, ...args])
Añadido en: v0.0.1
setTimeout
se describe en la sección de temporizadores.
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 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 flag 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>. Esta variable global está disponible solo si el binario de Node.js fue compilado incluyendo soporte para el módulo node:crypto
.
DOMException
Añadido en: v17.0.0
La clase WHATWG DOMException
. Consulta DOMException
para más detalles.
TextDecoder
Añadido en: v11.0.0
La clase WHATWG TextDecoder
. Consulta 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 WHATWG TextEncoder
. Consulta 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
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de TransformStream
.
Clase: TransformStreamDefaultController
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con el navegador de TransformStreamDefaultController
.
URL
Agregado en: v10.0.0
La clase URL
de WHATWG. Consulte la sección URL
.
URLSearchParams
Agregado en: v10.0.0
La clase URLSearchParams
de WHATWG. Consulte la sección URLSearchParams
.
WebAssembly
Agregado en: v8.0.0
El objeto que actúa como espacio de nombres para toda la funcionalidad relacionada con W3C WebAssembly. Consulte la Red de Desarrolladores de Mozilla para 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 flag 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 flag 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
Agregado en: v18.0.0
[Estable: 1 - Experimental]
Estable: 1 Estabilidad: 1 - Experimental.
Una implementación compatible con navegadores de WritableStreamDefaultWriter
.