Spec-Zone.ru › Node.js

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

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

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

  • __dirname
  • __filename
  • exports
  • module
  • require()

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

Класс: AbortController

История
Версия Изменения
v15.4.0

Больше не экспериментальная.

v15.0.0, v14.17.0

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

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

const ac = new AbortController();

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

ac.abort();

console.log(ac.signal.aborted);  // Prints true copy

abortController.abort([reason])

История
Версия Изменения
v17.2.0, v16.14.0

Добавлен новый необязательный аргумент reason.

v15.0.0, v14.17.0

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

  • reason <любое> Необязательное значение, которое можно получить в свойстве AbortSignal объекта reason.

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

abortController.signal

Добавлена в: v15.0.0, v14.17.0
  • Тип: <AbortSignal>

Класс: AbortSignal

Добавлена в: v15.0.0, v14.17.0
  • Расширяет: <EventTarget>

Объект 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

  • reason: <любое>
  • Возвращает: <AbortSignal>

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

Статический метод: AbortSignal.timeout(delay)
Добавлена в: v17.3.0, v16.14.0
  • delay <число> Количество миллисекунд ожидания перед вызовом прерывания 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':

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(); copy

Объект AbortController с которым ассоциирован объект AbortSignal может триггернуть событие 'abort' только один раз. Рекомендуется проверять значение атрибута abortSignal.aborted на false перед добавлением слушателя события 'abort'.

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

abortSignal.aborted
Добавлена в: v15.0.0, v14.17.0
  • Тип: <булево> Истинно после прерывания объекта AbortController.
abortSignal.onabort
Добавлена в: v15.0.0, v14.17.0
  • Тип: <Функция>

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

abortSignal.reason
Добавлена в: v17.2.0, v16.14.0
  • Тип: <любое>

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

const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason);  // Error: boom! copy
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 - Экспериментальная.

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

__dirname

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

__filename

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

atob(data)

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

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

BroadcastChannel

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

См. <BroadcastChannel>.

btoa(data)

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

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

clearImmediate(immediateObject)

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

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

clearInterval(intervalObject)

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

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

clearTimeout(timeoutObject)

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

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

Класс: CompressionStream

Добавлена в: v18.0.0
Уровень стабильности: 1 - Экспериментальная.

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

console

Добавлена в: v0.1.100
  • <Объект>

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

Класс: CountQueuingStrategy

Добавлен в: v18.0.0
Устойчивость: 1 - Экспериментальная.

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

Crypto

История
Версия Изменения
v19.0.0

Больше не скрывается за флагом командной строки --experimental-global-webcrypto.

v17.6.0, v16.15.0

Добавлен в: v17.6.0, v16.15.0

Устойчивость: 1 - Экспериментальная. Отключить этот API с помощью флага командной строки --no-experimental-global-webcrypto.

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

crypto

История
Версия Изменения
v19.0.0

Больше не скрывается за флагом командной строки --experimental-global-webcrypto.

v17.6.0, v16.15.0

Добавлен в: v17.6.0, v16.15.0

Устойчивость: 1 - Экспериментальная. Отключить этот API с помощью флага командной строки --no-experimental-global-webcrypto.

Реализация, совместимая с браузером, API криптографии веб-браузера (Web Crypto API).

CryptoKey

История
Версия Изменения
v19.0.0

Больше не скрывается за флагом командной строки --experimental-global-webcrypto.

v17.6.0, v16.15.0

Добавлен в: v17.6.0, v16.15.0

Устойчивость: 1 - Экспериментальная. Отключить этот API с помощью флага командной строки --no-experimental-global-webcrypto.

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

CustomEvent

История
Версия Изменения
v19.0.0

Больше не скрывается за флагом командной строки --experimental-global-customevent.

v18.7.0, v16.17.0

Добавлен в: v18.7.0, v16.17.0

Устойчивость: 1 - Экспериментальная. Отключить этот API с помощью флага командной строки --no-experimental-global-customevent.

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

Класс: DecompressionStream

Добавлен в: v18.0.0
Устойчивость: 1 - Экспериментальная.

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

Event

История
Версия Изменения
v15.4.0

Больше не экспериментальная.

v15.0.0

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

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

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 - Стабильная

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

Класс: File

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

См. <Файл>.

Класс FormData

История
Версия Изменения
v21.0.0

Больше не экспериментальная.

v18.0.0

Больше не скрывается за флагом командной строки --experimental-fetch.

v17.6.0, v16.15.0

Добавлен в: v17.6.0, v16.15.0

Устойчивость: 2 - Стабильная

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

global

Добавлен в: v0.1.27
Устойчивость: 3 - Устаревшее. Используйте globalThis вместо этого.
  • <Объект> Глобальный объект.

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

Класс Headers

История
Версия Изменения
v21.0.0

Больше не экспериментальная.

v18.0.0

Больше не скрывается за флагом командной строки --experimental-fetch.

v17.5.0, v16.15.0

Добавлен в: v17.5.0, v16.15.0

Устойчивость: 2 - Стабильная

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

MessageChannel

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

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

MessageEvent

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

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

MessagePort

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

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

module

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

Navigator

Добавлен в: v21.0.0
Устойчивость: 1.1 - Активное развитие. Отключить этот API с помощью флага командной строки --no-experimental-global-navigator.

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

END_OF_DOCUMENT_MARKER

navigator

Added in: v21.0.0
Стабильность: 1.1 — Активное развитие. Отключить этот API с помощью флага командной строки --no-experimental-global-navigator.

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

navigator.hardwareConcurrency

Added in: v21.0.0
  • <число>

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

console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`); copy

navigator.language

Added in: v21.2.0
  • <строка>

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

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

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

console.log(`The preferred language of the Node.js instance has the tag '${navigator.language}'`); copy

navigator.languages

Added in: v21.2.0
  • {Array}

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

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

console.log(`The preferred languages are '${navigator.languages}'`); copy

navigator.platform

Added in: v21.2.0
  • <строка>

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

console.log(`This process is running on ${navigator.platform}`); copy

navigator.userAgent

Added in: v21.1.0
  • <строка>

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

console.log(`The user-agent is ${navigator.userAgent}`); // Prints "Node.js/21" copy

PerformanceEntry

Added in: v19.0.0

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

PerformanceMark

Added in: v19.0.0

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

PerformanceMeasure

Added in: v19.0.0

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

PerformanceObserver

Added in: v19.0.0

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

PerformanceObserverEntryList

Added in: v19.0.0

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

PerformanceResourceTiming

Added in: v19.0.0

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

performance

Added in: v16.0.0

Объект perf_hooks.performance.

process

Added in: v0.1.7
  • <Объект>

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

queueMicrotask(callback)

Added in: v11.0.0
  • callback <Функция> Функция, которая должна быть поставлена в очередь.

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

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

// Here, `queueMicrotask()` is used to ensure the 'load' event is always
// emitted asynchronously, and therefore consistently. Using
// `process.nextTick()` here would result in the 'load' event always emitting
// before any other promise jobs.

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);
}; copy

Класс: ReadableByteStreamController

Added in: v18.0.0
Стабильность: 1 — Экспериментальная.

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

Класс: ReadableStream

Added in: v18.0.0
Стабильность: 1 — Экспериментальная.

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

Класс: ReadableStreamBYOBReader

Added in: v18.0.0
Стабильность: 1 — Экспериментальная.

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

Класс: ReadableStreamBYOBRequest

Added in: v18.0.0
Стабильность: 1 — Экспериментальная.

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

Класс: ReadableStreamDefaultController

Added in: v18.0.0
Стабильность: 1 — Экспериментальная.

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

Класс: ReadableStreamDefaultReader

Added in: v18.0.0
Стабильность: 1 — Экспериментальная.

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

require()

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

Response

История
Версия Изменения
v21.0.0

Больше не экспериментальная.

v18.0.0

Больше не доступна через флаг командной строки --experimental-fetch.

v17.5.0, v16.15.0

Добавлена в: v17.5.0, v16.15.0

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

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

Request

История
Версия Изменения
v21.0.0

Больше не экспериментальная.

v18.0.0

Больше не доступна через флаг командной строки --experimental-fetch.

v17.5.0, v16.15.0

Добавлена в: v17.5.0, v16.15.0

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

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

setImmediate(callback[, ...args])

Added in: v0.9.1

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

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

Added in: v0.0.1

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

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

Added in: v0.0.1

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

structuredClone(value[, options])

Added in: v17.0.0

Метод WHATWG structuredClone.

SubtleCrypto

История
Версия Изменения
v19.0.0

Больше не скрывается за флагом командной строки --experimental-global-webcrypto.

v17.6.0, v16.15.0

Добавлен в: v17.6.0, v16.15.0

Устойчивость: 1 - Экспериментальный. Отключить этот API с помощью флага командной строки --no-experimental-global-webcrypto.

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

DOMException

Added in: v17.0.0

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

TextDecoder

Added in: v11.0.0

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

Класс: TextDecoderStream

Added in: v18.0.0
Устойчивость: 1 - Экспериментальный.

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

TextEncoder

Added in: v11.0.0

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

Класс: TextEncoderStream

Added in: v18.0.0
Устойчивость: 1 - Экспериментальный.

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

Класс: TransformStream

Added in: v18.0.0
Устойчивость: 1 - Экспериментальный.

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

Класс: TransformStreamDefaultController

Added in: v18.0.0
Устойчивость: 1 - Экспериментальный.

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

URL

Added in: v10.0.0

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

URLSearchParams

Added in: v10.0.0

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

WebAssembly

Added in: v8.0.0
  • <Объект>

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

WebSocket

История
Версия Изменения
v22.0.0

Больше не скрывается за флагом командной строки --experimental-websocket.

v21.0.0, v20.10.0

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

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

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

Класс: WritableStream

Added in: v18.0.0
Устойчивость: 1 - Экспериментальный.

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

Класс: WritableStreamDefaultController

Added in: v18.0.0
Устойчивость: 1 - Экспериментальный.

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

Класс: WritableStreamDefaultWriter

Added in: v18.0.0
Устойчивость: 1 - Экспериментальный.

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

© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/api/globals.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API