グローバルオブジェクト
これらのオブジェクトは、すべてのモジュールで利用可能です。
以下の変数はグローバルに見えるかもしれませんが、そうではありません。これらは 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
プロパティで取得できます。
中止シグナルをトリガーし、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
abortController.abort()
メソッドが呼び出されると、'abort'
イベントが発生します。コールバックは、単一の type
プロパティが 'abort'
に設定された単一のオブジェクト引数で呼び出されます。
const ac = new AbortController()
// onabort プロパティを使用するか...
ac.signal.onabort = () => console.log('中止されました!')
// または 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
追加: v15.0.0, v14.17.0
- 型: <boolean>
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
ByteLengthQueuingStrategy
のブラウザ互換実装。
__dirname
この変数はグローバルに見えるかもしれませんが、そうではありません。__dirname
を参照してください。
__filename
この変数はグローバルに見えるかもしれませんが、そうではありません。__filename
を参照してください。
atob(data)
追加: v16.0.0
buffer.atob()
のグローバルエイリアス。
BroadcastChannel
追加: v18.0.0
<BroadcastChannel>を参照してください。
btoa(data)
追加: v16.0.0
buffer.btoa()
のグローバルエイリアス。
clearImmediate(immediateObject)
追加: v0.9.1
clearImmediate
については、timersセクションで説明しています。
clearInterval(intervalObject)
追加: v0.0.1
clearInterval
については、timersセクションで説明しています。
clearTimeout(timeoutObject)
追加: v0.0.1
clearTimeout
については、timersセクションで説明しています。
CloseEvent
追加: v23.0.0
CloseEvent
クラス。詳細については、CloseEvent
を参照してください。
CloseEvent
のブラウザ互換実装。この API を無効にするには、--no-experimental-websocket
CLI フラグを使用します。
クラス: CompressionStream
追加: v18.0.0
CompressionStream
のブラウザ互換実装。
console
追加: v0.1.100
stdout および stderr に出力するために使用します。console
セクションを参照してください。
クラス: CountQueuingStrategy
追加: 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 のブラウザ互換実装。
クラス: DecompressionStream
追加: v18.0.0
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
CLI フラグを使用します。
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 CLI フラグの背後ではなくなりました。 |
v17.5.0, v16.15.0 | 追加: v17.5.0, v16.15.0 |
fetch()
関数のブラウザ互換実装。
クラス: File
追加: v20.0.0
<File> を参照してください。
クラス 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
[Stable: 3 - レガシー]
Stable: 3 安定度: 3 - レガシー。代わりに globalThis
を使用してください。
- <Object> グローバル名前空間オブジェクト。
ブラウザでは、トップレベルスコープは従来からグローバルスコープでした。つまり、var something
は ECMAScript モジュール内を除いて、新しいグローバル変数を定義します。Node.js では、これは異なります。トップレベルスコープはグローバルスコープではありません。Node.js モジュール内の var something
は、それが CommonJS モジュール か ECMAScript モジュール かに関わらず、そのモジュールにローカルになります。
クラス 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 の外部でのこのデータの変更はサポートされていません。この API を有効にするには、--experimental-webstorage
CLI フラグを使用してください。サーバーのコンテキストで使用する場合、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
CLI フラグを使用します。
Navigator API の部分的な実装。
navigator
追加: v21.0.0
[安定版: 1 - 実験的]
安定版: 1 安定性: 1。1 - アクティブな開発。この API を無効にするには、--no-experimental-global-navigator
CLI フラグを使用します。
window.navigator
の部分的な実装。
navigator.hardwareConcurrency
追加: v21.0.0
navigator.hardwareConcurrency
読み取り専用プロパティは、現在の Node.js インスタンスで使用可能な論理プロセッサの数を返します。
console.log(`このプロセスは${navigator.hardwareConcurrency}個の論理プロセッサで実行されています`)
navigator.language
追加: v21.2.0
navigator.language
読み取り専用プロパティは、Node.js インスタンスの優先言語を表す文字列を返します。言語は、オペレーティングシステムのデフォルト言語に基づいて、実行時に Node.js が使用する ICU ライブラリによって決定されます。
値は、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
の値のみが含まれ、これは、オペレーティングシステムのデフォルト言語に基づいて、実行時に Node.js で使用される ICU ライブラリによって決定されます。
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
読み取り専用プロパティは、ランタイム名とメジャーバージョン番号で構成されるユーザーエージェントを返します。
console.log(`ユーザーエージェントは ${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
オブジェクト セクションを参照してください。
queueMicrotask(callback)
追加: v11.0.0
callback
<Function> キューに入れる関数。
queueMicrotask()
メソッドは、callback
を呼び出すマイクロタスクをキューに入れます。callback
が例外をスローした場合、process
オブジェクト の 'uncaughtException'
イベントが発行されます。
マイクロタスクキューは V8 によって管理され、Node.js によって管理される process.nextTick()
キューと同様の方法で使用できます。Node.js のイベントループの各ターン内では、process.nextTick()
キューが常にマイクロタスクキューよりも先に処理されます。
// ここでは、'load' イベントが常に非同期に発行されるようにするために、
// `queueMicrotask()` が使用されています。したがって、一貫性が保たれます。
// ここで `process.nextTick()` を使用すると、'load' イベントは常に他の
// すべてのプロミスジョブの前に発行されることになります。
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
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
のブラウザ互換実装。データはメモリに格納され、ストレージクォータは 10MB です。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
追加: 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 | --experimental-websocket CLI フラグの背後になくなりました。 |
v21.0.0, v20.10.0 | 追加: v21.0.0, v20.10.0 |
WebSocket
のブラウザ互換実装です。この API は、--no-experimental-websocket
CLI フラグで無効にしてください。
クラス: WritableStream
追加: v18.0.0
WritableStream
のブラウザ互換実装です。
クラス: WritableStreamDefaultController
追加: v18.0.0
WritableStreamDefaultController
のブラウザ互換実装です。
クラス: WritableStreamDefaultWriter
追加: v18.0.0
WritableStreamDefaultWriter
のブラウザ互換実装です。