Spec-Zone.ru › Node.js 20 LTS

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

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

Следующие переменные могут казаться глобальными, но таковыми не являются. Они существуют только в области видимости 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 основано на Web 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 <любое> Необязательный параметр 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
  • 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 } (или, если используется EventEmitter API для добавления обработчика, метод once()) для гарантии удаления обработчика как только событие '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
  • Тип: <любое>

Необязательное значение reason, указанное при вызове 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 описана в разделе timers.

clearInterval(intervalObject)

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

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

clearTimeout(timeoutObject)

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

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

Класс: CompressionStream

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

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

console

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

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

END_OF_DOCUMENT_MARKER

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

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

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

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

v17.5.0, v16.15.0

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

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

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

Класс: File

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

См. <File>.

Класс FormData

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

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

v17.6.0, v16.15.0

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

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

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

global

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

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

Класс Headers

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

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

v17.5.0, v16.15.0

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

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

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

MessageChannel

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

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

MessageEvent

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

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

MessagePort

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

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

module

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

PerformanceEntry

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

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

PerformanceMark

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

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

PerformanceMeasure

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

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

END_OF_DOCUMENT_MARKER

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

Class: ReadableByteStreamController

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

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

Class: ReadableStream

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

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

Class: ReadableStreamBYOBReader

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

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

Class: ReadableStreamBYOBRequest

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

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

Class: ReadableStreamDefaultController

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

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

Class: ReadableStreamDefaultReader

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

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

require()

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

Response

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

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

v17.5.0, v16.15.0

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

Стабильность: 1 - Экспериментальная. Отключить этот API флагом командной строки --no-experimental-fetch.

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

Request

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

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

v17.5.0, v16.15.0

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

Стабильность: 1 - Экспериментальная. Отключить этот API флагом командной строки --no-experimental-fetch.

Реализация класса <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 описан в разделе timers.

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.

Class: TextDecoderStream

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

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

TextEncoder

Added in: v11.0.0

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

Class: TextEncoderStream

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

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

Class: TransformStream

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

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

Класс: TransformStreamDefaultController

Добавлен в: v18.0.0
Устойчивость: 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

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

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

Класс: WritableStream

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

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

Класс: WritableStreamDefaultController

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

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

Класс: WritableStreamDefaultWriter

Добавлен в: 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/dist/latest-v20.x/docs/api/globals.html

Spec-Zone.ru

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