Глобальные объекты
Эти объекты доступны во всех модулях.
Следующие переменные могут выглядеть как глобальные, но ими не являются. Они существуют только в области видимости модулей 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
.
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
ы, из которых нужно составить новыйAbortSignal
.
Возвращает новый AbortSignal
, который будет прерван, если любой из предоставленных сигналов будет прерван. Его abortSignal.reason
будет установлен в тот, который вызвал прерывание.
Событие: 'abort'
Добавлен в: v15.0.0, v14.17.0
Событие 'abort'
генерируется при вызове метода abortController.abort()
. Обратный вызов вызывается с одним аргументом объекта, имеющим единственное свойство type
, установленное в 'abort'
:
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
- Тип: <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
[Стабильность: 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.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 с помощью флага командной строки --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
.
Navigator
Добавлено в: v21.0.0
[Стабильность: 1 - Экспериментальный]
Стабильность: 1 Стабильность: 1.1 - Активная разработка. Отключите этот API с помощью флага командной строки --no-experimental-global-navigator
.
Частичная реализация API Navigator.
navigator
Добавлено в: v21.0.0
[Стабильность: 1 - Экспериментальный]
Стабильность: 1 Стабильность: 1.1 - Активная разработка. Отключите этот API с помощью флага командной строки --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
Только для чтения свойство 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
вызывает исключение, событие 'uncaughtException'
объекта process
будет отправлено.
Очередь микрозадач управляется 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
[Стабильная версия: 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
.