Skip to content

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ónCambios
v15.4.0Ya no es experimental.
v15.0.0, v14.17.0Añ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.

js
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ónCambios
v17.2.0, v16.14.0Se añadió el nuevo argumento opcional reason.
v15.0.0, v14.17.0Se añadió en: v15.0.0, v14.17.0
  • reason <any> Una razón opcional, recuperable en la propiedad reason del AbortSignal.

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

Clase: AbortSignal

Añadido en: v15.0.0, v14.17.0

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ónCambios
v17.2.0, v16.14.0Se añadió el nuevo argumento opcional reason.
v15.12.0, v14.17.0Se añadió en: v15.12.0, v14.17.0

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[]> Los AbortSignal de los cuales se compondrá un nuevo AbortSignal.

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':

js
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

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

Una razón opcional especificada cuando el AbortSignal fue disparado.

js
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ónCambios
v23.0.0Ya no es experimental.
v19.0.0Ya no está detrás del indicador CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Agregado 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ónCambios
v23.0.0Ya no es experimental.
v19.0.0Ya no está detrás del indicador CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Añ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ónCambios
v23.0.0Ya no es experimental.
v19.0.0Ya no está detrás del indicador CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Añ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ónCambios
v23.0.0Ya no es experimental.
v22.1.0, v20.13.0CustomEvent ahora es estable.
v19.0.0Ya no está detrás de la bandera CLI --experimental-global-customevent.
v18.7.0, v16.17.0Agregado 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ónCambios
v15.4.0Ya no es experimental.
v15.0.0Agregado 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ónCambios
v15.4.0Ya no es experimental.
v15.0.0Agregado 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ónCambios
v21.0.0Ya no es experimental.
v18.0.0Ya no está detrás del indicador CLI --experimental-fetch.
v17.5.0, v16.15.0Agregado 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ónCambios
v21.0.0Ya no es experimental.
v18.0.0Ya no está detrás de la flag de CLI --experimental-fetch.
v17.6.0, v16.15.0Añ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ónCambios
v21.0.0Ya no es experimental.
v18.0.0Ya no está detrás del indicador CLI --experimental-fetch.
v17.5.0, v16.15.0Añ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.

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.

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.

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.

js
console.log(`Este proceso se está ejecutando en ${navigator.hardwareConcurrency} procesadores lógicos`)

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'.

js
console.log(`El idioma preferido de la instancia de Node.js tiene la etiqueta '${navigator.language}'`)

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'].

js
console.log(`Los idiomas preferidos son '${navigator.languages}'`)

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.

js
console.log(`Este proceso se está ejecutando en ${navigator.platform}`)

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.

js
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

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.

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ónCambios
v21.0.0Ya no es experimental.
v18.0.0Ya no está detrás del flag --experimental-fetch de la CLI.
v17.5.0, v16.15.0Agregado 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ónCambios
v21.0.0Ya no es experimental.
v18.0.0Ya no está detrás del flag de CLI --experimental-fetch.
v17.5.0, v16.15.0Agregado 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ónCambios
v19.0.0Ya no está detrás del flag de CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Añ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ónCambios
v22.4.0Ya no es experimental.
v22.0.0Ya no está detrás del flag CLI --experimental-websocket.
v21.0.0, v20.10.0Añ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.