グローバルオブジェクト
これらのオブジェクトは、すべてのモジュールで使用できます。
次の変数はグローバルに見えるかもしれませんが、そうではありません。これらは、CommonJS モジュールのスコープ内でのみ存在します。
ここにリストされているオブジェクトは、Node.js に固有のものです。JavaScript 言語自体の一部である 組み込みオブジェクトもあり、これらもグローバルにアクセス可能です。
Class: 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); // 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> オプションの理由で、AbortSignal
のreason
プロパティで取得できます。
abort シグナルをトリガーし、abortController.signal
が 'abort'
イベントを発行するようにします。
abortController.signal
追加: v15.0.0, v14.17.0
- タイプ: <AbortSignal>
Class: 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 をトリガーするまで待機するミリ秒数。
delay
ミリ秒後に中断される新しい AbortSignal
を返します。
静的メソッド: AbortSignal.any(signals)
追加: v20.3.0, v18.17.0
signals
<AbortSignal[]> 新しいAbortSignal
を構成する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();
AbortSignal
が関連付けられている AbortController
は、'abort'
イベントを 1 回だけトリガーします。 コードは、'abort'
イベントリスナーを追加する前に、abortSignal.aborted
属性が false
であることを確認することをお勧めします。
AbortSignal
にアタッチされたイベントリスナーは、{ once: true }
オプションを使用するか(または、EventEmitter
API を使用してリスナーをアタッチする場合は、once()
メソッドを使用します)、'abort'
イベントが処理されるとすぐにイベントリスナーが削除されるようにする必要があります。 そうしないと、メモリリークが発生する可能性があります。
abortSignal.aborted
Added in: v15.0.0, v14.17.0
- 型: <boolean>
AbortController
が中止された後、真になります。
abortSignal.onabort
Added in: v15.0.0, v14.17.0
- 型: <Function>
abortController.abort()
関数が呼び出されたときに通知されるように、ユーザーコードによって設定できるオプションのコールバック関数です。
abortSignal.reason
Added in: 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()
Added in: v17.3.0, v16.17.0
abortSignal.aborted
が true
の場合、abortSignal.reason
をスローします。
Class: Blob
Added in: v18.0.0
<Blob> を参照してください。
Class: Buffer
Added in: v0.1.103
バイナリデータを扱うために使用されます。buffer section を参照してください。
Class: ByteLengthQueuingStrategy
Added in: v18.0.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - 実験的。
ByteLengthQueuingStrategy
のブラウザ互換実装。
__dirname
この変数はグローバルのように見えるかもしれませんが、そうではありません。__dirname
を参照してください。
__filename
この変数はグローバルのように見えるかもしれませんが、そうではありません。__filename
を参照してください。
atob(data)
Added in: v16.0.0
[Stable: 3 - Legacy]
Stable: 3 Stability: 3 - レガシー。代わりに Buffer.from(data, 'base64')
を使用してください。
buffer.atob()
のグローバルエイリアス。
BroadcastChannel
Added in: v18.0.0
<BroadcastChannel> を参照してください。
btoa(data)
Added in: v16.0.0
buffer.btoa()
のグローバルエイリアス。
clearImmediate(immediateObject)
Added in: v0.9.1
clearImmediate
は timers セクションで説明されています。
clearInterval(intervalObject)
Added in: v0.0.1
clearInterval
は timers セクションで説明されています。
clearTimeout(timeoutObject)
Added in: v0.0.1
clearTimeout
は timers セクションで説明されています。
CloseEvent
Added in: v23.0.0
CloseEvent
クラス。詳細については、CloseEvent
を参照してください。
CloseEvent
のブラウザ互換実装。--no-experimental-websocket
CLI フラグでこの API を無効にします。
Class: CompressionStream
Added in: v18.0.0
CompressionStream
のブラウザ互換実装。
console
Added in: v0.1.100
stdout および stderr に出力するために使用されます。console
セクションを参照してください。
Class: CountQueuingStrategy
Added in: v18.0.0
CountQueuingStrategy
のブラウザ互換実装。
Crypto
[履歴]
バージョン | 変更 |
---|---|
v23.0.0 | 実験的ではなくなりました。 |
v19.0.0 | --experimental-global-webcrypto CLI フラグの背後になくなりました。 |
v17.6.0, v16.15.0 | 追加: v17.6.0, v16.15.0 |
<Crypto>のブラウザ互換実装。このグローバル変数は、Node.jsバイナリがnode:crypto
モジュールのサポートを含めてコンパイルされた場合にのみ利用可能です。
crypto
[履歴]
バージョン | 変更 |
---|---|
v23.0.0 | 実験的ではなくなりました。 |
v19.0.0 | --experimental-global-webcrypto CLI フラグの背後になくなりました。 |
v17.6.0, v16.15.0 | 追加: v17.6.0, v16.15.0 |
Web Crypto APIのブラウザ互換実装。
CryptoKey
[履歴]
バージョン | 変更 |
---|---|
v23.0.0 | 実験的ではなくなりました。 |
v19.0.0 | --experimental-global-webcrypto CLI フラグの背後になくなりました。 |
v17.6.0, v16.15.0 | 追加: v17.6.0, v16.15.0 |
<CryptoKey>のブラウザ互換実装。このグローバル変数は、Node.jsバイナリがnode:crypto
モジュールのサポートを含めてコンパイルされた場合にのみ利用可能です。
CustomEvent
[履歴]
バージョン | 変更 |
---|---|
v23.0.0 | 実験的ではなくなりました。 |
v22.1.0, v20.13.0 | CustomEvent は安定版になりました。 |
v19.0.0 | --experimental-global-customevent CLI フラグの背後になくなりました。 |
v18.7.0, v16.17.0 | 追加: v18.7.0, v16.17.0 |
CustomEvent
Web APIのブラウザ互換実装。
Class: DecompressionStream
Added in: v18.0.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental.
DecompressionStream
のブラウザ互換実装。
Event
[History]
Version | Changes |
---|---|
v15.4.0 | Experimentalではなくなりました。 |
v15.0.0 | Added in: v15.0.0 |
Event
クラスのブラウザ互換実装。詳細は EventTarget
および Event
API を参照してください。
EventSource
Added in: v22.3.0, v20.18.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - Experimental. このAPIを有効にするには、--experimental-eventsource
CLIフラグを使用してください。
EventSource
クラスのブラウザ互換実装。
EventTarget
[History]
Version | Changes |
---|---|
v15.4.0 | Experimentalではなくなりました。 |
v15.0.0 | Added in: v15.0.0 |
EventTarget
クラスのブラウザ互換実装。詳細は EventTarget
および Event
API を参照してください。
exports
この変数はグローバルに見えるかもしれませんが、そうではありません。exports
を参照してください。
fetch
[History]
Version | Changes |
---|---|
v21.0.0 | Experimentalではなくなりました。 |
v18.0.0 | --experimental-fetch CLIフラグの背後に隠されなくなりました。 |
v17.5.0, v16.15.0 | Added in: v17.5.0, v16.15.0 |
[Stable: 2 - Stable]
Stable: 2 Stability: 2 - Stable
fetch()
関数のブラウザ互換実装。
Class: File
Added in: v20.0.0
<File> を参照してください。
Class FormData
[履歴]
バージョン | 変更点 |
---|---|
v21.0.0 | 実験的ではなくなりました。 |
v18.0.0 | --experimental-fetch CLI フラグの背後になくなりました。 |
v17.6.0, v16.15.0 | 追加: v17.6.0, v16.15.0 |
<FormData> のブラウザ互換実装。
global
追加: v0.1.27
[安定版: 3 - レガシー]
安定版: 3 安定性: 3 - レガシー。代わりに globalThis
を使用してください。
- <Object> グローバル名前空間オブジェクト。
ブラウザでは、トップレベルのスコープは伝統的にグローバルスコープでした。これは、ECMAScript モジュール内を除き、var something
が新しいグローバル変数を定義することを意味します。Node.js では、これは異なります。トップレベルのスコープはグローバルスコープではありません。Node.js モジュール内の var something
は、それが CommonJS モジュール であるか ECMAScript モジュール であるかに関わらず、そのモジュールに対してローカルになります。
Class Headers
[履歴]
バージョン | 変更点 |
---|---|
v21.0.0 | 実験的ではなくなりました。 |
v18.0.0 | --experimental-fetch CLI フラグの背後になくなりました。 |
v17.5.0, v16.15.0 | 追加: v17.5.0, v16.15.0 |
<Headers> のブラウザ互換実装。
localStorage
追加: v22.4.0
localStorage
のブラウザ互換実装。データは、--localstorage-file
CLI フラグで指定されたファイルに暗号化されずに保存されます。保存できるデータの最大量は 10 MB です。Web Storage API 以外でのこのデータの変更はサポートされていません。--experimental-webstorage
CLI フラグを使用してこの API を有効にします。サーバーのコンテキストで使用する場合、localStorage
データはユーザーごとまたはリクエストごとに保存されず、すべてのユーザーとリクエストで共有されます。
MessageChannel
Added in: v15.0.0
MessageChannel
クラス。詳細については、MessageChannel
を参照してください。
MessageEvent
Added in: v15.0.0
MessageEvent
クラス。詳細については、MessageEvent
を参照してください。
MessagePort
Added in: v15.0.0
MessagePort
クラス。詳細については、MessagePort
を参照してください。
module
この変数はグローバルに見えるかもしれませんが、そうではありません。module
を参照してください。
Navigator
Added in: v21.0.0
[Stable: 1 - Experimental]
Stable: 1 安定度: 1.1 - 活発な開発。この API を無効にするには、--no-experimental-global-navigator
CLI フラグを使用します。
Navigator API の部分的な実装。
navigator
Added in: v21.0.0
[Stable: 1 - Experimental]
Stable: 1 安定度: 1.1 - 活発な開発。この API を無効にするには、--no-experimental-global-navigator
CLI フラグを使用します。
window.navigator
の部分的な実装。
navigator.hardwareConcurrency
Added in: v21.0.0
navigator.hardwareConcurrency
読み取り専用プロパティは、現在の Node.js インスタンスで使用可能な論理プロセッサの数を返します。
console.log(`このプロセスは ${navigator.hardwareConcurrency} 個の論理プロセッサで実行されています`);
navigator.language
Added in: v21.2.0
navigator.language
読み取り専用プロパティは、Node.js インスタンスの優先言語を表す文字列を返します。言語は、実行時に Node.js が使用する ICU ライブラリによって、オペレーティングシステムのデフォルト言語に基づいて決定されます。
この値は、RFC 5646 で定義されている言語バージョンを表しています。
ICU なしのビルドのフォールバック値は 'en-US'
です。
console.log(`Node.js インスタンスの優先言語にはタグ '${navigator.language}' があります`);
navigator.languages
Added in: v21.2.0
- {Array
navigator.languages
の読み取り専用プロパティは、Node.jsインスタンスの優先言語を表す文字列の配列を返します。デフォルトでは、navigator.languages
はnavigator.language
の値のみを含み、これはNode.jsが実行時に使用するICUライブラリによって、オペレーティングシステムのデフォルト言語に基づいて決定されます。
ICUなしでビルドする場合のフォールバック値は['en-US']
です。
console.log(`優先言語は '${navigator.languages}'`);
navigator.platform
Added in: v21.2.0
navigator.platform
の読み取り専用プロパティは、Node.jsインスタンスが実行されているプラットフォームを識別する文字列を返します。
console.log(`このプロセスは ${navigator.platform} 上で実行されています`);
navigator.userAgent
Added in: v21.1.0
navigator.userAgent
の読み取り専用プロパティは、ランタイム名とメジャーバージョン番号で構成されるユーザーエージェントを返します。
console.log(`ユーザーエージェントは ${navigator.userAgent} です`); // Prints "Node.js/21"
PerformanceEntry
Added in: v19.0.0
PerformanceEntry
クラス。詳細は PerformanceEntry
を参照してください。
PerformanceMark
Added in: v19.0.0
PerformanceMark
クラス。詳細は PerformanceMark
を参照してください。
PerformanceMeasure
Added in: v19.0.0
PerformanceMeasure
クラス。詳細は PerformanceMeasure
を参照してください。
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
<Function> キューに入れる関数。
queueMicrotask()
メソッドは、callback
を呼び出すマイクロタスクをキューに入れます。callback
が例外をスローすると、process
オブジェクト の 'uncaughtException'
イベントが発生します。
マイクロタスクキューは V8 によって管理され、Node.js によって管理される process.nextTick()
キューと同様の方法で使用できます。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
Added in: v18.0.0
[Stable: 1 - Experimental]
Stable: 1 Stability: 1 - 試験的。
ReadableByteStreamController
のブラウザ互換実装。
クラス: ReadableStream
追加: v18.0.0
ReadableStream
のブラウザ互換実装。
クラス: ReadableStreamBYOBReader
追加: v18.0.0
ReadableStreamBYOBReader
のブラウザ互換実装。
クラス: ReadableStreamBYOBRequest
追加: v18.0.0
ReadableStreamBYOBRequest
のブラウザ互換実装。
クラス: ReadableStreamDefaultController
追加: v18.0.0
ReadableStreamDefaultController
のブラウザ互換実装。
クラス: ReadableStreamDefaultReader
追加: v18.0.0
ReadableStreamDefaultReader
のブラウザ互換実装。
require()
この変数はグローバルに見えるかもしれませんが、そうではありません。require()
を参照してください。
Response
[履歴]
バージョン | 変更点 |
---|---|
v21.0.0 | 試験的ではなくなりました。 |
v18.0.0 | --experimental-fetch CLIフラグの背後に隠れなくなりました。 |
v17.5.0, v16.15.0 | 追加: v17.5.0, v16.15.0 |
<Response> のブラウザ互換実装。
Request
[沿革]
バージョン | 変更点 |
---|---|
v21.0.0 | 実験的ではなくなりました。 |
v18.0.0 | --experimental-fetch CLI フラグの背後に隠されなくなりました。 |
v17.5.0, v16.15.0 | 追加: v17.5.0, v16.15.0 |
<Request> のブラウザ互換実装。
sessionStorage
追加: v22.4.0
sessionStorage
のブラウザ互換実装。データはメモリに保存され、ストレージクォータは 10 MB です。sessionStorage
データは、現在実行中のプロセス内でのみ保持され、ワーカー間で共有されません。
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
Storage
のブラウザ互換実装。この API を有効にするには、--experimental-webstorage
CLI フラグを使用します。
structuredClone(value[, options])
追加: v17.0.0
WHATWG structuredClone
メソッド。
SubtleCrypto
[履歴]
バージョン | 変更点 |
---|---|
v19.0.0 | --experimental-global-webcrypto CLI フラグの背後に隠されていなくなりました。 |
v17.6.0, v16.15.0 | 追加: v17.6.0, v16.15.0 |
<SubtleCrypto> のブラウザ互換実装です。このグローバル変数は、Node.js バイナリが node:crypto
モジュールのサポートを含めてコンパイルされている場合にのみ使用可能です。
DOMException
追加: v17.0.0
WHATWG DOMException
クラス。詳細は DOMException
を参照してください。
TextDecoder
追加: v11.0.0
WHATWG TextDecoder
クラス。TextDecoder
セクションを参照してください。
クラス: TextDecoderStream
追加: v18.0.0
TextDecoderStream
のブラウザ互換実装です。
TextEncoder
追加: v11.0.0
WHATWG TextEncoder
クラス。TextEncoder
セクションを参照してください。
クラス: TextEncoderStream
追加: v18.0.0
TextEncoderStream
のブラウザ互換実装です。
クラス: TransformStream
追加: v18.0.0
TransformStream
のブラウザ互換実装です。
クラス: TransformStreamDefaultController
追加: v18.0.0
TransformStreamDefaultController
のブラウザ互換実装です。
URL
Added in: v10.0.0
WHATWG の URL
クラスです。URL
セクションを参照してください。
URLSearchParams
Added in: v10.0.0
WHATWG の URLSearchParams
クラスです。URLSearchParams
セクションを参照してください。
WebAssembly
Added in: v8.0.0
すべての W3C WebAssembly 関連機能の名前空間として機能するオブジェクト。使用方法と互換性については、Mozilla Developer Network を参照してください。
WebSocket
[履歴]
Version | Changes |
---|---|
v22.4.0 | 実験的ではなくなりました。 |
v22.0.0 | --experimental-websocket CLI フラグの背後になくなりました。 |
v21.0.0, v20.10.0 | Added in: v21.0.0, v20.10.0 |
WebSocket
のブラウザ互換実装。--no-experimental-websocket
CLI フラグを使用して、この API を無効にします。
Class: WritableStream
Added in: v18.0.0
WritableStream
のブラウザ互換実装。
Class: WritableStreamDefaultController
Added in: v18.0.0
WritableStreamDefaultController
のブラウザ互換実装。
Class: WritableStreamDefaultWriter
Added in: v18.0.0
WritableStreamDefaultWriter
のブラウザ互換実装。