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 основан на веб-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[]> AbortSignalы, из которых нужно составить новый AbortSignal.

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

Событие: 'abort'

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

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

js
const ac = new AbortController()

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

// Либо API EventTarget...
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

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

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

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

__dirname

Эта переменная может выглядеть как глобальная, но это не так. См. __dirname.

__filename

Эта переменная может выглядеть как глобальная, но это не так. См. __filename.

atob(data)

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

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

Стабильность: 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 с помощью флага командной строки --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 с помощью флага командной строки --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Больше не находится за флагом командной строки --experimental-fetch.
v17.5.0, v16.15.0Добавлено в: v17.5.0, v16.15.0

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

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

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

Класс: File

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

См. <File>.

Класс 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.

Класс 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 МБ. Любое изменение этих данных вне API Web Storage не поддерживается. Включите этот 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 с помощью флага командной строки --no-experimental-global-navigator.

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

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

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

Стабильность: 1 Стабильность: 1.1 - Активная разработка. Отключите этот API с помощью флага командной строки --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

Только для чтения свойство 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 вызывает исключение, событие 'uncaughtException' объекта process будет отправлено.

Очередь микрозадач управляется 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

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

Стабильная версия: 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 сохраняются только в текущем запущенном процессе и не передаются между рабочими процессами.

setImmediate(callback[, ...args])

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

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

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

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

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

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

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

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

Класс: 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.

Class: TextDecoderStream

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

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

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

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

TextEncoder

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

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

Class: TextEncoderStream

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

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

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

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

Class: TransformStream

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

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

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

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

Class: TransformStreamDefaultController

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

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

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

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

URL

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

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

URLSearchParams

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

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

WebAssembly

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

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

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.

Class: WritableStream

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

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

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

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

Class: WritableStreamDefaultController

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

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

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

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

Class: WritableStreamDefaultWriter

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

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

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

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