Skip to content

Глобальные объекты

Эти объекты доступны во всех модулях.

Следующие переменные могут казаться глобальными, но это не так. Они существуют только в области видимости модулей CommonJS:

Объекты, перечисленные здесь, специфичны для Node.js. Существуют встроенные объекты, которые являются частью самого языка JavaScript и также глобально доступны.

Класс: AbortController

[История]

ВерсияИзменения
v15.4.0Больше не является экспериментальным.
v15.0.0, v14.17.0Добавлено в: v15.0.0, v14.17.0

Вспомогательный класс, используемый для сигнализации об отмене в выбранных API на основе Promise. API основан на Web API AbortController.

js
const ac = new AbortController();

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

ac.abort();

console.log(ac.signal.aborted);  // Выводит true

abortController.abort([reason])

[История]

ВерсияИзменения
v17.2.0, v16.14.0Добавлен новый необязательный аргумент reason.
v15.0.0, v14.17.0Добавлено в: v15.0.0, v14.17.0
  • reason <any> Необязательная причина, которую можно получить в свойстве reason объекта AbortSignal.

Запускает сигнал прерывания, в результате чего abortController.signal генерирует событие 'abort'.

abortController.signal

Добавлено в: v15.0.0, v14.17.0

Класс: AbortSignal

Добавлено в: v15.0.0, v14.17.0

AbortSignal используется для уведомления наблюдателей при вызове метода abortController.abort().

Статический метод: AbortSignal.abort([reason])

[История]

ВерсияИзменения
v17.2.0, v16.14.0Добавлен новый необязательный аргумент reason.
v15.12.0, v14.17.0Добавлено в: v15.12.0, v14.17.0

Возвращает новый, уже прерванный AbortSignal.

Статический метод: AbortSignal.timeout(delay)

Добавлено в: v17.3.0, v16.14.0

  • delay <number> Количество миллисекунд для ожидания перед запуском AbortSignal.

Возвращает новый AbortSignal, который будет прерван через delay миллисекунд.

Статический метод: AbortSignal.any(signals)

Добавлено в: v20.3.0, v18.17.0

  • signals <AbortSignal[]> AbortSignals, из которых составляется новый AbortSignal.

Возвращает новый AbortSignal, который будет прерван, если какой-либо из предоставленных сигналов прерван. Его abortSignal.reason будет установлен в тот, который из signals вызвал его прерывание.

Событие: 'abort'

Добавлено в: v15.0.0, v14.17.0

Событие 'abort' испускается, когда вызывается метод abortController.abort(). Обратный вызов вызывается с одним аргументом объекта с одним свойством type, установленным в 'abort':

js
const ac = new AbortController();

// Используйте либо свойство onabort...
ac.signal.onabort = () => console.log('aborted!');

// Или EventTarget API...
ac.signal.addEventListener('abort', (event) => {
  console.log(event.type);  // Печатает 'abort'
}, { once: true });

ac.abort();

AbortController, с которым связан AbortSignal, будет запускать событие 'abort' только один раз. Мы рекомендуем коду проверять, является ли атрибут abortSignal.aborted false перед добавлением прослушивателя событий 'abort'.

Любые прослушиватели событий, прикрепленные к AbortSignal, должны использовать опцию { once: true } (или, если для прикрепления прослушивателя используются API EventEmitter, используйте метод once()), чтобы гарантировать, что прослушиватель событий будет удален, как только событие 'abort' будет обработано. Невыполнение этого требования может привести к утечкам памяти.

abortSignal.aborted

Добавлено в версии: v15.0.0, v14.17.0

  • Тип: <boolean> True после того, как AbortController был прерван.

abortSignal.onabort

Добавлено в версии: v15.0.0, v14.17.0

Необязательная функция обратного вызова, которая может быть установлена пользовательским кодом для получения уведомлений при вызове функции abortController.abort().

abortSignal.reason

Добавлено в версии: v17.2.0, v16.14.0

Необязательная причина, указанная при запуске AbortSignal.

js
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason);  // Error: boom!

abortSignal.throwIfAborted()

Добавлено в версии: v17.3.0, v16.17.0

Если abortSignal.aborted имеет значение true, выдает ошибку abortSignal.reason.

Класс: Blob

Добавлено в версии: v18.0.0

См. <Blob>.

Класс: Buffer

Добавлено в версии: v0.1.103

Используется для обработки двоичных данных. См. раздел buffer.

Класс: ByteLengthQueuingStrategy

Добавлено в версии: v18.0.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально.

Браузерно-совместимая реализация ByteLengthQueuingStrategy.

__dirname

Эта переменная может показаться глобальной, но это не так. См. __dirname.

__filename

Эта переменная может показаться глобальной, но это не так. См. __filename.

atob(data)

Добавлено в версии: v16.0.0

[Stable: 3 - Legacy]

Stable: 3 Стабильность: 3 - Устаревшее. Вместо этого используйте Buffer.from(data, 'base64').

Глобальный псевдоним для buffer.atob().

BroadcastChannel

Добавлено в: v18.0.0

См. <BroadcastChannel>.

btoa(data)

Добавлено в: v16.0.0

[Стабильно: 3 - Устаревшее]

Стабильно: 3 Стабильность: 3 - Устаревшее. Используйте buf.toString('base64') вместо этого.

Глобальный псевдоним для buffer.btoa().

clearImmediate(immediateObject)

Добавлено в: v0.9.1

clearImmediate описано в разделе таймеры.

clearInterval(intervalObject)

Добавлено в: v0.0.1

clearInterval описано в разделе таймеры.

clearTimeout(timeoutObject)

Добавлено в: v0.0.1

clearTimeout описано в разделе таймеры.

CloseEvent

Добавлено в: v23.0.0

Класс CloseEvent. См. CloseEvent для получения дополнительной информации.

Браузерная реализация CloseEvent. Отключите этот API с помощью флага CLI --no-experimental-websocket.

Class: CompressionStream

Добавлено в: v18.0.0

[Стабильно: 1 - Экспериментальное]

Стабильно: 1 Стабильность: 1 - Экспериментальное.

Браузерная реализация CompressionStream.

console

Добавлено в: v0.1.100

Используется для вывода в stdout и stderr. См. раздел console.

Class: CountQueuingStrategy

Добавлено в: v18.0.0

[Стабильно: 1 - Экспериментальное]

Стабильно: 1 Стабильность: 1 - Экспериментальное.

Браузерная реализация CountQueuingStrategy.

Crypto

[История]

ВерсияИзменения
v23.0.0Больше не является экспериментальным.
v19.0.0Больше не скрыт за флагом CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Добавлено в: v17.6.0, v16.15.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно.

Совместимая с браузером реализация <Crypto>. Эта глобальная переменная доступна только в том случае, если двоичный файл Node.js был скомпилирован с поддержкой модуля node:crypto.

crypto

[История]

ВерсияИзменения
v23.0.0Больше не является экспериментальным.
v19.0.0Больше не скрыт за флагом CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Добавлено в: v17.6.0, v16.15.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно.

Совместимая с браузером реализация Web Crypto API.

CryptoKey

[История]

ВерсияИзменения
v23.0.0Больше не является экспериментальным.
v19.0.0Больше не скрыт за флагом CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Добавлено в: v17.6.0, v16.15.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно.

Совместимая с браузером реализация <CryptoKey>. Эта глобальная переменная доступна только в том случае, если двоичный файл Node.js был скомпилирован с поддержкой модуля node:crypto.

CustomEvent

[История]

ВерсияИзменения
v23.0.0Больше не является экспериментальным.
v22.1.0, v20.13.0CustomEvent теперь стабилен.
v19.0.0Больше не скрыт за флагом CLI --experimental-global-customevent.
v18.7.0, v16.17.0Добавлено в: v18.7.0, v16.17.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно

Совместимая с браузером реализация CustomEvent Web API.

Класс: DecompressionStream

Добавлено в: v18.0.0

[Стабильность: 1 - Экспериментальная]

Стабильность: 1 Стабильность: 1 - Экспериментальная.

Браузерно-совместимая реализация DecompressionStream.

Event

[История]

ВерсияИзменения
v15.4.0Больше не экспериментальная.
v15.0.0Добавлено в: v15.0.0

Браузерно-совместимая реализация класса Event. Подробнее см. EventTarget и Event API.

EventSource

Добавлено в: v22.3.0, v20.18.0

[Стабильность: 1 - Экспериментальная]

Стабильность: 1 Стабильность: 1 - Экспериментальная. Включите этот API с помощью флага CLI --experimental-eventsource.

Браузерно-совместимая реализация класса EventSource.

EventTarget

[История]

ВерсияИзменения
v15.4.0Больше не экспериментальная.
v15.0.0Добавлено в: v15.0.0

Браузерно-совместимая реализация класса EventTarget. Подробнее см. EventTarget и Event API.

exports

Эта переменная может казаться глобальной, но это не так. См. exports.

fetch

[История]

ВерсияИзменения
v21.0.0Больше не экспериментальная.
v18.0.0Больше не скрывается за флагом CLI --experimental-fetch.
v17.5.0, v16.15.0Добавлено в: v17.5.0, v16.15.0

[Стабильность: 2 - Стабильная]

Стабильность: 2 Стабильность: 2 - Стабильная

Браузерно-совместимая реализация функции fetch().

Класс: File

Добавлено в: v20.0.0

См. <File>.

Class FormData

[История]

ВерсияИзменения
v21.0.0Больше не является экспериментальной.
v18.0.0Больше не скрыта за флагом CLI --experimental-fetch.
v17.6.0, v16.15.0Добавлено в: v17.6.0, v16.15.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно

Браузерно-совместимая реализация <FormData>.

global

Добавлено в: v0.1.27

[Стабильно: 3 - Устаревшее]

Стабильно: 3 Стабильность: 3 - Устаревшее. Используйте globalThis вместо этого.

  • <Object> Объект глобального пространства имен.

В браузерах областью верхнего уровня традиционно является глобальная область. Это означает, что var something определит новую глобальную переменную, за исключением модулей ECMAScript. В Node.js это иначе. Область верхнего уровня не является глобальной областью; var something внутри модуля Node.js будет локальной для этого модуля, независимо от того, является ли он модулем CommonJS или модулем ECMAScript.

Class Headers

[История]

ВерсияИзменения
v21.0.0Больше не является экспериментальной.
v18.0.0Больше не скрыта за флагом CLI --experimental-fetch.
v17.5.0, v16.15.0Добавлено в: v17.5.0, v16.15.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно

Браузерно-совместимая реализация <Headers>.

localStorage

Добавлено в: v22.4.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1.0 - Ранняя разработка.

Браузерно-совместимая реализация localStorage. Данные хранятся в незашифрованном виде в файле, указанном флагом CLI --localstorage-file. Максимальный объем данных, который можно хранить, составляет 10 МБ. Любое изменение этих данных вне Web Storage API не поддерживается. Включите этот API с помощью флага CLI --experimental-webstorage. Данные localStorage не хранятся для каждого пользователя или для каждого запроса при использовании в контексте сервера, они являются общими для всех пользователей и запросов.

MessageChannel

Добавлено в: v15.0.0

Класс MessageChannel. Подробнее см. MessageChannel.

MessageEvent

Добавлено в: v15.0.0

Класс MessageEvent. Подробнее см. MessageEvent.

MessagePort

Добавлено в: v15.0.0

Класс MessagePort. Подробнее см. MessagePort.

module

Эта переменная может казаться глобальной, но это не так. См. module.

Добавлено в: v21.0.0

[Стабильность: 1 - Экспериментально]

Стабильность: 1 Стабильность: 1.1 - Активная разработка. Отключите этот API с помощью флага CLI --no-experimental-global-navigator.

Частичная реализация API Navigator.

Добавлено в: v21.0.0

[Стабильность: 1 - Экспериментально]

Стабильность: 1 Стабильность: 1.1 - Активная разработка. Отключите этот API с помощью флага CLI --no-experimental-global-navigator.

Частичная реализация window.navigator.

Добавлено в: v21.0.0

Свойство navigator.hardwareConcurrency только для чтения возвращает количество логических процессоров, доступных текущему экземпляру Node.js.

js
console.log(`Этот процесс запущен на ${navigator.hardwareConcurrency} логических процессорах`);

Добавлено в: v21.2.0

Свойство navigator.language только для чтения возвращает строку, представляющую предпочтительный язык экземпляра Node.js. Язык будет определяться библиотекой ICU, используемой Node.js во время выполнения, на основе языка операционной системы по умолчанию.

Значение представляет собой языковую версию, как определено в RFC 5646.

Значением по умолчанию для сборок без ICU является 'en-US'.

js
console.log(`Предпочтительный язык экземпляра Node.js имеет тег '${navigator.language}'`);

Добавлено в версии: v21.2.0

  • {Array

Свойство navigator.languages только для чтения возвращает массив строк, представляющих предпочитаемые языки экземпляра Node.js. По умолчанию navigator.languages содержит только значение navigator.language, которое будет определяться библиотекой ICU, используемой Node.js во время выполнения, на основе языка операционной системы по умолчанию.

Резервное значение для сборок без ICU — ['en-US'].

js
console.log(`Предпочитаемые языки: '${navigator.languages}'`);

Добавлено в версии: v21.2.0

Свойство navigator.platform только для чтения возвращает строку, идентифицирующую платформу, на которой работает экземпляр Node.js.

js
console.log(`Этот процесс запущен на ${navigator.platform}`);

Добавлено в версии: v21.1.0

Свойство navigator.userAgent только для чтения возвращает строку user agent, состоящую из имени среды выполнения и номера основной версии.

js
console.log(`User-agent: ${navigator.userAgent}`); // Выводит "Node.js/21"

PerformanceEntry

Добавлено в версии: v19.0.0

Класс PerformanceEntry. Подробнее см. PerformanceEntry.

PerformanceMark

Добавлено в версии: v19.0.0

Класс PerformanceMark. Подробнее см. PerformanceMark.

PerformanceMeasure

Добавлено в версии: v19.0.0

Класс PerformanceMeasure. Подробнее см. PerformanceMeasure.

PerformanceObserver

Добавлено в версии: v19.0.0

Класс PerformanceObserver. Подробнее см. PerformanceObserver.

PerformanceObserverEntryList

Добавлено в версии: v19.0.0

Класс PerformanceObserverEntryList. Подробнее см. PerformanceObserverEntryList.

PerformanceResourceTiming

Добавлено в: v19.0.0

Класс PerformanceResourceTiming. Дополнительные сведения см. в разделе PerformanceResourceTiming.

performance

Добавлено в: v16.0.0

Объект perf_hooks.performance.

process

Добавлено в: v0.1.7

Объект process. См. раздел process object.

queueMicrotask(callback)

Добавлено в: v11.0.0

  • callback <Function> Функция, которую необходимо поставить в очередь.

Метод queueMicrotask() ставит микрозадачу в очередь для вызова callback. Если callback вызывает исключение, будет сгенерировано событие process object 'uncaughtException'.

Очередь микрозадач управляется V8 и может использоваться аналогично очереди process.nextTick(), которая управляется Node.js. Очередь process.nextTick() всегда обрабатывается перед очередью микрозадач на каждом витке цикла событий Node.js.

js
// Здесь `queueMicrotask()` используется для обеспечения того, чтобы событие 'load' всегда
// генерировалось асинхронно и, следовательно, согласованно. Использование
// `process.nextTick()` здесь приведет к тому, что событие 'load' всегда будет генерироваться
// перед любыми другими заданиями 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);
};

Class: ReadableByteStreamController

Добавлено в: v18.0.0

[Stable: 1 - Experimental]

Stable: 1 Стабильность: 1 - Экспериментально.

Браузерно-совместимая реализация ReadableByteStreamController.

Класс: ReadableStream

Добавлено в: v18.0.0

[Стабильность: 1 - Экспериментальный]

Стабильность: 1 Стабильность: 1 - Экспериментальный.

Реализация ReadableStream, совместимая с браузером.

Класс: ReadableStreamBYOBReader

Добавлено в: v18.0.0

[Стабильность: 1 - Экспериментальный]

Стабильность: 1 Стабильность: 1 - Экспериментальный.

Реализация ReadableStreamBYOBReader, совместимая с браузером.

Класс: ReadableStreamBYOBRequest

Добавлено в: v18.0.0

[Стабильность: 1 - Экспериментальный]

Стабильность: 1 Стабильность: 1 - Экспериментальный.

Реализация ReadableStreamBYOBRequest, совместимая с браузером.

Класс: ReadableStreamDefaultController

Добавлено в: v18.0.0

[Стабильность: 1 - Экспериментальный]

Стабильность: 1 Стабильность: 1 - Экспериментальный.

Реализация ReadableStreamDefaultController, совместимая с браузером.

Класс: ReadableStreamDefaultReader

Добавлено в: v18.0.0

[Стабильность: 1 - Экспериментальный]

Стабильность: 1 Стабильность: 1 - Экспериментальный.

Реализация ReadableStreamDefaultReader, совместимая с браузером.

require()

Эта переменная может казаться глобальной, но это не так. См. require().

Response

[История]

ВерсияИзменения
v21.0.0Больше не является экспериментальной.
v18.0.0Больше не требует флаг CLI --experimental-fetch.
v17.5.0, v16.15.0Добавлено в: v17.5.0, v16.15.0

[Стабильность: 2 - Стабильный]

Стабильность: 2 Стабильность: 2 - Стабильный

Реализация <Response>, совместимая с браузером.

Request

[История]

ВерсияИзменения
v21.0.0Больше не является экспериментальной.
v18.0.0Больше не требует флаг CLI --experimental-fetch.
v17.5.0, v16.15.0Добавлено в: v17.5.0, v16.15.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно

Браузерная реализация <Request>.

sessionStorage

Добавлено в: v22.4.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1.0 - Ранняя стадия разработки.

Браузерная реализация sessionStorage. Данные хранятся в памяти с квотой хранения 10 МБ. Данные sessionStorage сохраняются только в текущем запущенном процессе и не передаются между workers.

setImmediate(callback[, ...args])

Добавлено в: v0.9.1

setImmediate описан в разделе timers.

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

Добавлено в: v0.0.1

setInterval описан в разделе timers.

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

Добавлено в: v0.0.1

setTimeout описан в разделе timers.

Class: Storage

Добавлено в: v22.4.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1.0 - Ранняя стадия разработки.

Браузерная реализация Storage. Включите этот API с помощью флага CLI --experimental-webstorage.

structuredClone(value[, options])

Добавлено в: v17.0.0

Метод WHATWG structuredClone.

SubtleCrypto

[История]

ВерсияИзменения
v19.0.0Больше не скрыта за флагом CLI --experimental-global-webcrypto.
v17.6.0, v16.15.0Добавлено в: v17.6.0, v16.15.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно.

Браузерно-совместимая реализация <SubtleCrypto>. Этот глобальный объект доступен только в том случае, если бинарный файл Node.js был скомпилирован с поддержкой модуля node:crypto.

DOMException

Добавлено в: v17.0.0

Класс WHATWG DOMException. Подробнее см. DOMException.

TextDecoder

Добавлено в: v11.0.0

Класс WHATWG TextDecoder. См. раздел TextDecoder.

Класс: TextDecoderStream

Добавлено в: v18.0.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1 - Экспериментально.

Браузерно-совместимая реализация TextDecoderStream.

TextEncoder

Добавлено в: v11.0.0

Класс WHATWG TextEncoder. См. раздел TextEncoder.

Класс: TextEncoderStream

Добавлено в: v18.0.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1 - Экспериментально.

Браузерно-совместимая реализация TextEncoderStream.

Класс: TransformStream

Добавлено в: v18.0.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1 - Экспериментально.

Браузерно-совместимая реализация TransformStream.

Класс: TransformStreamDefaultController

Добавлено в: v18.0.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1 - Экспериментально.

Браузерно-совместимая реализация TransformStreamDefaultController.

URL

Добавлено в версии: v10.0.0

Класс URL WHATWG. См. раздел URL.

URLSearchParams

Добавлено в версии: v10.0.0

Класс URLSearchParams WHATWG. См. раздел URLSearchParams.

WebAssembly

Добавлено в версии: v8.0.0

Объект, который действует как пространство имен для всей функциональности W3C, связанной с WebAssembly. См. Сеть разработчиков Mozilla для использования и совместимости.

WebSocket

[История]

ВерсияИзменения
v22.4.0Больше не является экспериментальным.
v22.0.0Больше не находится за флагом CLI --experimental-websocket.
v21.0.0, v20.10.0Добавлено в версии: v21.0.0, v20.10.0

[Стабильно: 2 - Стабильно]

Стабильно: 2 Стабильность: 2 - Стабильно.

Совместимая с браузером реализация WebSocket. Отключите этот API с помощью флага CLI --no-experimental-websocket.

Класс: WritableStream

Добавлено в версии: v18.0.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1 - Экспериментально.

Совместимая с браузером реализация WritableStream.

Класс: WritableStreamDefaultController

Добавлено в версии: v18.0.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1 - Экспериментально.

Совместимая с браузером реализация WritableStreamDefaultController.

Класс: WritableStreamDefaultWriter

Добавлено в версии: v18.0.0

[Стабильно: 1 - Экспериментально]

Стабильно: 1 Стабильность: 1 - Экспериментально.

Совместимая с браузером реализация WritableStreamDefaultWriter.