Глобальные объекты
Эти объекты доступны во всех модулях.
Следующие переменные могут казаться глобальными, но это не так. Они существуют только в области видимости модулей 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
.
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>
Класс: 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
: <any>- Возвращает: <AbortSignal>
Возвращает новый, уже прерванный 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
s, из которых составляется новыйAbortSignal
.
Возвращает новый AbortSignal
, который будет прерван, если какой-либо из предоставленных сигналов прерван. Его abortSignal.reason
будет установлен в тот, который из signals
вызвал его прерывание.
Событие: 'abort'
Добавлено в: v15.0.0, v14.17.0
Событие 'abort'
испускается, когда вызывается метод abortController.abort()
. Обратный вызов вызывается с одним аргументом объекта с одним свойством type
, установленным в 'abort'
:
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
- Тип: <Function>
Необязательная функция обратного вызова, которая может быть установлена пользовательским кодом для получения уведомлений при вызове функции abortController.abort()
.
abortSignal.reason
Добавлено в версии: v17.2.0, v16.14.0
- Тип: <any>
Необязательная причина, указанная при запуске AbortSignal
.
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.0 | CustomEvent теперь стабилен. |
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
.
Navigator
Добавлено в: v21.0.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1.1 - Активная разработка. Отключите этот API с помощью флага CLI --no-experimental-global-navigator
.
Частичная реализация API Navigator.
navigator
Добавлено в: v21.0.0
[Стабильность: 1 - Экспериментально]
Стабильность: 1 Стабильность: 1.1 - Активная разработка. Отключите этот API с помощью флага CLI --no-experimental-global-navigator
.
Частичная реализация window.navigator
.
navigator.hardwareConcurrency
Добавлено в: v21.0.0
Свойство navigator.hardwareConcurrency
только для чтения возвращает количество логических процессоров, доступных текущему экземпляру Node.js.
console.log(`Этот процесс запущен на ${navigator.hardwareConcurrency} логических процессорах`);
navigator.language
Добавлено в: v21.2.0
Свойство navigator.language
только для чтения возвращает строку, представляющую предпочтительный язык экземпляра Node.js. Язык будет определяться библиотекой ICU, используемой Node.js во время выполнения, на основе языка операционной системы по умолчанию.
Значение представляет собой языковую версию, как определено в RFC 5646.
Значением по умолчанию для сборок без ICU является 'en-US'
.
console.log(`Предпочтительный язык экземпляра Node.js имеет тег '${navigator.language}'`);
navigator.languages
Добавлено в версии: v21.2.0
- {Array
Свойство navigator.languages
только для чтения возвращает массив строк, представляющих предпочитаемые языки экземпляра Node.js. По умолчанию navigator.languages
содержит только значение navigator.language
, которое будет определяться библиотекой ICU, используемой Node.js во время выполнения, на основе языка операционной системы по умолчанию.
Резервное значение для сборок без ICU — ['en-US']
.
console.log(`Предпочитаемые языки: '${navigator.languages}'`);
navigator.platform
Добавлено в версии: v21.2.0
Свойство navigator.platform
только для чтения возвращает строку, идентифицирующую платформу, на которой работает экземпляр Node.js.
console.log(`Этот процесс запущен на ${navigator.platform}`);
navigator.userAgent
Добавлено в версии: v21.1.0
Свойство navigator.userAgent
только для чтения возвращает строку user agent, состоящую из имени среды выполнения и номера основной версии.
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.
// Здесь `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
.