Глобальные объекты
Эти объекты доступны во всех модулях.
Следующие переменные могут показаться глобальными, но таковыми не являются. Они существуют только в области видимости модулей CommonJS:
Перечисленные здесь объекты относятся к Node.js. Существуют также встроенные объекты, являющиеся частью самого языка JavaScript и также доступные глобально.
Класс: AbortController
Вспомогательный класс, используемый для отправки сигнала отмены в некоторых 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); // Prints true copy
abortController.abort([reason])
-
reason<any> Необязательная причина, доступная через свойствоreasonобъектаAbortSignal.
Активирует сигнал отмены, в результате чего abortController.signal генерирует событие 'abort'.
abortController.signal
- Тип: <AbortSignal>
Класс: AbortSignal
- Наследует: <EventTarget>
Объект AbortSignal используется для уведомления наблюдателей о вызове метода abortController.abort().
Статический метод: AbortSignal.abort([reason])
-
reason<any> - Возвращает: <AbortSignal>
Возвращает новый уже отменённый объект AbortSignal.
Статический метод: AbortSignal.timeout(delay)
-
delay<number> Количество миллисекунд ожидания до активации AbortSignal.
Возвращает новый объект AbortSignal, который будет отменён через delay миллисекунд.
Статический метод: AbortSignal.any(signals)
-
signals<AbortSignal[]> ОбъектыAbortSignal, из которых будет составлен новый объектAbortSignal.
Возвращает новый объект AbortSignal, который будет отменён, если будет отменён любой из переданных сигналов. Значение abortSignal.reason будет установлено в соответствии с тем из объектов signals, который вызвал отмену.
Событие: 'abort'
Событие '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, использовать метод once()), чтобы обработчик события удалялся сразу после обработки события 'abort'. Если этого не сделать, возможны утечки памяти.
abortSignal.aborted
- Тип: <boolean> Имеет значение true после отмены
AbortController.
abortSignal.onabort
- Тип: <Function>
Необязательная функция обратного вызова, которую пользовательский код может задать для получения уведомления о вызове функции abortController.abort().
abortSignal.reason
- Тип: <any>
Необязательная причина, указанная при активации AbortSignal.
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason); // Error: boom! copy
abortSignal.throwIfAborted()
Если abortSignal.aborted имеет значение true, выбрасывает abortSignal.reason.
Класс: Blob
См. <Blob>.
Класс: Buffer
- Тип: <Function>
Используется для работы с двоичными данными. См. раздел о буферах.
Класс: ByteLengthQueuingStrategy
Совместимая с браузерами реализация ByteLengthQueuingStrategy.
__dirname
Эта переменная может показаться глобальной, но таковой не является. См. __dirname.
__filename
Эта переменная может показаться глобальной, но таковой не является. См. __filename.
atob(data)
Buffer.from(data, 'base64').Глобальный псевдоним для buffer.atob().
Доступна автоматическая миграция (исходный код):
npx codemod@latest @nodejs/buffer-atob-btoa copy
Класс: BroadcastChannel
См. <BroadcastChannel>.
btoa(data)
buf.toString('base64').Глобальный псевдоним для buffer.btoa().
Доступна автоматическая миграция (исходный код):
npx codemod@latest @nodejs/buffer-atob-btoa copy
clearImmediate(immediateObject)
clearImmediate описан в разделе о таймерах.
clearInterval(intervalObject)
clearInterval описан в разделе о таймерах.
clearTimeout(timeoutObject)
clearTimeout описан в разделе о таймерах.
Класс: CloseEvent
Совместимая с браузерами реализация <CloseEvent>. Отключите этот API с помощью флага командной строки --no-experimental-websocket.
Класс: CompressionStream
Совместимая с браузерами реализация CompressionStream.
console
- Тип: <Object>
Используется для вывода в stdout и stderr. См. раздел console.
Класс: CountQueuingStrategy
Совместимая с браузерами реализация CountQueuingStrategy.
Класс: Crypto
Совместимая с браузерами реализация <Crypto>. Эта глобальная переменная доступна, только если бинарный файл Node.js был собран с поддержкой модуля node:crypto.
crypto
Совместимая с браузерами реализация Web Crypto API.
Класс: CryptoKey
Совместимая с браузерами реализация <CryptoKey>. Эта глобальная переменная доступна, только если бинарный файл Node.js был собран с поддержкой модуля node:crypto.
Класс: CustomEvent
Совместимая с браузерами реализация <CustomEvent>.
Класс: DecompressionStream
Совместимая с браузерами реализация DecompressionStream.
Класс: Event
Совместимая с браузерами реализация класса Event. Подробнее см. в описании API EventTarget и Event.
Класс: EventSource
--experimental-eventsource.Совместимая с браузерами реализация <EventSource>.
Класс: EventTarget
Совместимая с браузерами реализация класса EventTarget. Подробнее см. в описании API EventTarget и Event.
exports
Эта переменная может показаться глобальной, но таковой не является. См. exports.
fetch
Совместимая с браузерами реализация функции fetch().
const res = await fetch('https://nodejs.org/api/documentation.json');
if (res.ok) {
const data = await res.json();
console.log(data);
} copy Реализация основана на undici — HTTP/1.1-клиенте, написанном с нуля для Node.js. Узнать, какая версия undici включена в процесс Node.js, можно, прочитав свойство process.versions.undici.
Пользовательский диспетчер
Для отправки запросов можно использовать пользовательский диспетчер, передав его в объект параметров fetch. Диспетчер должен быть совместим с классом Dispatcher из undici.
fetch(url, { dispatcher: new MyAgent() }); copy В Node.js можно изменить глобальный диспетчер, установив undici и вызвав метод setGlobalDispatcher(). Вызов этого метода повлияет как на undici, так и на Node.js.
import { setGlobalDispatcher } from 'undici';
setGlobalDispatcher(new MyAgent()); copy Класс: File
См. <File>.
Класс: FormData
Совместимая с браузерами реализация <FormData>.
global
globalThis.- Тип: <Object> Объект глобального пространства имён.
В браузерах область видимости верхнего уровня традиционно является глобальной областью видимости. Это означает, что var something объявит новую глобальную переменную, кроме случаев использования модулей ECMAScript. В Node.js это устроено иначе. Область видимости верхнего уровня не является глобальной; var something внутри модуля Node.js будет локальной для этого модуля, независимо от того, является ли он модулем CommonJS или модулем ECMAScript.
Класс: Headers
Совместимая с браузерами реализация <Headers>.
localStorage
--experimental-webstorage.Совместимая с браузерами реализация localStorage. Данные хранятся в незашифрованном виде в файле, указанном флагом командной строки --localstorage-file. Максимальный объём хранимых данных — 10 МБ. Изменение этих данных вне API Web Storage не поддерживается. localStorage данные не хранятся отдельно для каждого пользователя или запроса при использовании на сервере, а являются общими для всех пользователей и запросов.
Класс: MessageChannel
Класс MessageChannel. Подробнее см. в разделе MessageChannel.
Класс: MessageEvent
Совместимая с браузерами реализация <MessageEvent>.
Класс: MessagePort
Класс MessagePort. Подробнее см. в разделе MessagePort.
module
Эта переменная может показаться глобальной, но таковой не является. См. module.
Класс: Navigator
--no-experimental-global-navigator.Частичная реализация API Navigator.
navigator
--no-experimental-global-navigator.Частичная реализация window.navigator.
navigator.hardwareConcurrency
- Тип: <number>
Доступное только для чтения свойство navigator.hardwareConcurrency возвращает количество логических процессоров, доступных текущему экземпляру Node.js.
console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`); copy
navigator.language
- Тип: <string>
Доступное только для чтения свойство 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
- Тип: {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
- Тип: <string>
Доступное только для чтения свойство navigator.platform возвращает строку, определяющую платформу, на которой запущен экземпляр Node.js.
console.log(`This process is running on ${navigator.platform}`); copy
navigator.userAgent
- Тип: <string>
Доступное только для чтения свойство navigator.userAgent возвращает строку агента пользователя, состоящую из имени среды выполнения и номера её основной версии.
console.log(`The user-agent is ${navigator.userAgent}`); // Prints "Node.js/21" copy
navigator.locks
Доступное только для чтения свойство navigator.locks возвращает экземпляр LockManager, который можно использовать для координации доступа к ресурсам, совместно используемым несколькими потоками в одном процессе. Эта глобальная реализация соответствует семантике API LockManager браузера.
Модули JavaScript
// Request an exclusive lock
await navigator.locks.request('my_resource', async (lock) => {
// The lock has been acquired.
console.log(`Lock acquired: ${lock.name}`);
// Lock is automatically released when the function returns
});
// Request a shared lock
await navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {
// Multiple shared locks can be held simultaneously
console.log(`Shared lock acquired: ${lock.name}`);
});CommonJS
// Request an exclusive lock
navigator.locks.request('my_resource', async (lock) => {
// The lock has been acquired.
console.log(`Lock acquired: ${lock.name}`);
// Lock is automatically released when the function returns
}).then(() => {
console.log('Lock released');
});
// Request a shared lock
navigator.locks.request('shared_resource', { mode: 'shared' }, async (lock) => {
// Multiple shared locks can be held simultaneously
console.log(`Shared lock acquired: ${lock.name}`);
}).then(() => {
console.log('Shared lock released');
});Подробную документацию API см. в разделе worker_threads.locks.
Класс: PerformanceEntry
Класс PerformanceEntry. Подробнее см. в разделе PerformanceEntry.
Класс: PerformanceMark
Класс PerformanceMark. Подробнее см. в разделе PerformanceMark.
Класс: PerformanceMeasure
Класс PerformanceMeasure. Подробнее см. в разделе PerformanceMeasure.
Класс: PerformanceObserver
Класс PerformanceObserver. Подробнее см. PerformanceObserver.
Класс: PerformanceObserverEntryList
Класс PerformanceObserverEntryList. Подробнее см. PerformanceObserverEntryList.
Класс: PerformanceResourceTiming
Класс PerformanceResourceTiming. Подробнее см. PerformanceResourceTiming.
performance
Объект perf_hooks.performance.
process
- Тип: <Object>
Объект процесса. См. раздел объекта process.
queueMicrotask(callback)
-
callback<Function> Функция, которую необходимо поставить в очередь.
Метод queueMicrotask() ставит в очередь микрозадачу для вызова callback. Если callback вызывает исключение, будет сгенерировано событие 'uncaughtException' объекта process.
Очередью микрозадач управляет V8. Ее можно использовать подобно очереди process.nextTick(), которой управляет Node.js. В каждом цикле цикла событий Node.js очередь process.nextTick() всегда обрабатывается перед очередью микрозадач.
// 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
Совместимая с браузерами реализация ReadableByteStreamController.
Класс: ReadableStream
Совместимая с браузерами реализация ReadableStream.
Класс: ReadableStreamBYOBReader
Совместимая с браузерами реализация ReadableStreamBYOBReader.
Класс: ReadableStreamBYOBRequest
Совместимая с браузерами реализация ReadableStreamBYOBRequest.
Класс: ReadableStreamDefaultController
Совместимая с браузерами реализация ReadableStreamDefaultController.
Класс: ReadableStreamDefaultReader
Совместимая с браузерами реализация ReadableStreamDefaultReader.
require()
Эта переменная может выглядеть глобальной, но это не так. См. require().
Класс: Response
Совместимая с браузерами реализация <Response>.
Класс: Request
Совместимая с браузерами реализация <Request>.
sessionStorage
--experimental-webstorage.Совместимая с браузерами реализация sessionStorage. Данные хранятся в памяти; квота хранилища составляет 10 МБ. sessionStorage данные сохраняются только в рамках текущего процесса и не являются общими для рабочих потоков.
setImmediate(callback[, ...args])
Описание setImmediate приведено в разделе таймеров.
setInterval(callback, delay[, ...args])
Описание setInterval приведено в разделе таймеров.
setTimeout(callback, delay[, ...args])
Описание setTimeout приведено в разделе таймеров.
Класс: Storage
--experimental-webstorage.Совместимая с браузерами реализация <Storage>.
structuredClone(value[, options])
Метод WHATWG structuredClone.
Класс: SubtleCrypto
Совместимая с браузерами реализация <SubtleCrypto>. Этот глобальный объект доступен, только если исполняемый файл Node.js был собран с поддержкой модуля node:crypto.
Класс: DOMException
Класс WHATWG <DOMException>.
Класс: TextDecoder
Класс WHATWG TextDecoder. См. раздел TextDecoder.
Класс: TextDecoderStream
Совместимая с браузерами реализация TextDecoderStream.
Класс: TextEncoder
Класс WHATWG TextEncoder. См. раздел TextEncoder.
Класс: TextEncoderStream
Совместимая с браузерами реализация TextEncoderStream.
Класс: TransformStream
Совместимая с браузерами реализация TransformStream.
Класс: TransformStreamDefaultController
Совместимая с браузерами реализация TransformStreamDefaultController.
Класс: URL
Класс WHATWG URL. См. раздел URL.
Класс: URLPattern
Класс WHATWG URLPattern. См. раздел URLPattern.
Класс: URLSearchParams
Класс WHATWG URLSearchParams. См. раздел URLSearchParams.
Класс: WebAssembly
- Тип: <Object>
Объект, выступающий в качестве пространства имен для всех функций, связанных с WebAssembly W3C. Информацию об использовании и совместимости см. в сети разработчиков Mozilla.
Класс: WebSocket
Совместимая с браузерами реализация <WebSocket>. Отключите этот API с помощью флага CLI --no-experimental-websocket.
Класс: WritableStream
Совместимая с браузерами реализация WritableStream.
Класс: WritableStreamDefaultController
Совместимая с браузерами реализация WritableStreamDefaultController.
Класс: WritableStreamDefaultWriter
Совместимая с браузерами реализация 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-v24.x/docs/api/globals.html