Глобальные объекты
Эти объекты доступны во всех модулях.
Следующие переменные могут показаться глобальными, но таковыми не являются. Они существуют только в области видимости модулей 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().
Класс: BroadcastChannel
См. <BroadcastChannel>.
btoa(data)
buf.toString('base64').Глобальный псевдоним для buffer.btoa().
clearImmediate(immediateObject)
clearImmediate описан в разделе таймеров.
clearInterval(intervalObject)
clearInterval описан в разделе таймеров.
clearTimeout(timeoutObject)
clearTimeout описан в разделе таймеров.
Класс: CompressionStream
Реализация CompressionStream, совместимая с браузерами.
console
- Тип: <Object>
Используется для вывода данных в stdout и stderr. См. раздел console.
Класс: CountQueuingStrategy
Реализация CountQueuingStrategy, совместимая с браузерами.
Класс: Crypto
--no-experimental-global-webcrypto.Реализация <Crypto>, совместимая с браузерами. Этот глобальный объект доступен только в том случае, если двоичный файл Node.js был собран с поддержкой модуля node:crypto.
crypto
--no-experimental-global-webcrypto.Реализация Web Crypto API, совместимая с браузерами.
Класс: CryptoKey
--no-experimental-global-webcrypto.Реализация <CryptoKey>, совместимая с браузерами. Этот глобальный объект доступен только в том случае, если двоичный файл Node.js был собран с поддержкой модуля node:crypto.
Класс: CustomEvent
Реализация <CustomEvent>, совместимая с браузерами.
Класс: DecompressionStream
Реализация DecompressionStream, совместимая с браузерами.
Класс: Event
Реализация класса Event, совместимая с браузерами. Дополнительные сведения см. в разделе EventTarget и API Event.
Класс: EventSource
--experimental-eventsource.Реализация <EventSource>, совместимая с браузерами.
Класс: EventTarget
Реализация класса EventTarget, совместимая с браузерами. Дополнительные сведения см. в разделе EventTarget и API 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
Реализация localStorage, совместимая с браузерами. Данные хранятся без шифрования в файле, указанном флагом командной строки --localstorage-file. Максимальный объем хранимых данных составляет 10 МБ. Изменение этих данных вне API Web Storage не поддерживается. Включить этот API можно с помощью флага командной строки --experimental-webstorage. 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. Язык определяется используемой Node.js во время выполнения библиотекой ICU на основе языка операционной системы по умолчанию.
Значение представляет версию языка, определенную в 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, которое определяется используемой Node.js во время выполнения библиотекой ICU на основе языка операционной системы по умолчанию.
Резервное значение для сборок без 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 Класс: 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. См. раздел объект process.
queueMicrotask(callback)
-
callback<Function> Функция, которую нужно поместить в очередь.
Метод 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
Совместимая с браузером реализация ReadableByteStreamController.
Класс: ReadableStream
Совместимая с браузером реализация ReadableStream.
Класс: ReadableStreamBYOBReader
Совместимая с браузером реализация ReadableStreamBYOBReader.
Класс: ReadableStreamBYOBRequest
Совместимая с браузером реализация ReadableStreamBYOBRequest.
Класс: ReadableStreamDefaultController
Совместимая с браузером реализация ReadableStreamDefaultController.
Класс: ReadableStreamDefaultReader
Совместимая с браузером реализация ReadableStreamDefaultReader.
require()
Эта переменная может показаться глобальной, но это не так. См. require().
Класс: Response
Совместимая с браузером реализация <Response>.
Класс: Request
Совместимая с браузером реализация <Request>.
sessionStorage
Совместимая с браузером реализация 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
--no-experimental-global-webcrypto.Совместимая с браузером реализация <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.
Класс: URLSearchParams
Класс WHATWG URLSearchParams. См. раздел URLSearchParams.
Класс: WebAssembly
- Тип: <Object>
Объект, служащий пространством имён для всех возможностей W3C, связанных с WebAssembly. Сведения об использовании и совместимости см. в сети разработчиков Mozilla.
Класс: WebSocket
Совместимая с браузером реализация <WebSocket>. Отключите этот API с помощью флага командной строки --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-v22.x/docs/api/globals.html