Skip to content

グローバルオブジェクト

これらのオブジェクトは、すべてのモジュールで利用可能です。

以下の変数はグローバルに見えるかもしれませんが、そうではありません。これらは 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 に基づいています。

js
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> オプションの理由。AbortSignalreason プロパティで取得できます。

中止シグナルをトリガーし、abortController.signal'abort' イベントを発行させます。

abortController.signal

追加: v15.0.0, v14.17.0

Class: AbortSignal

追加: v15.0.0, v14.17.0

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

既に中止された新しい 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' に設定された単一のオブジェクト引数で呼び出されます。

js
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

abortController.abort() 関数が呼び出されたときに通知されるために、ユーザーコードによって設定される可能性のあるオプションのコールバック関数。

abortSignal.reason

追加: v17.2.0, v16.14.0

AbortSignal がトリガーされたときに指定されるオプションの理由。

js
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.abortedtrue の場合、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については、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

[安定度: 1 - 試験的]

安定度: 1 安定度: 1 - 試験的。

CompressionStreamのブラウザ互換実装。

console

追加: v0.1.100

stdout および stderr に出力するために使用します。consoleセクションを参照してください。

クラス: CountQueuingStrategy

追加: v18.0.0

[安定度: 1 - 試験的]

安定度: 1 安定度: 1 - 試験的。

CountQueuingStrategyのブラウザ互換実装。

Crypto

[履歴]

バージョン変更点
v23.0.0実験的ではなくなりました。
v19.0.0--experimental-global-webcrypto CLI フラグの背後になくなりました。
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--experimental-global-webcrypto CLI フラグの背後になくなりました。
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--experimental-global-webcrypto CLI フラグの背後になくなりました。
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.0CustomEvent が安定になりました。
v19.0.0--experimental-global-customevent CLI フラグの背後になくなりました。
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 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

[安定度: 2 - 安定]

安定度: 2 安定度: 2 - 安定

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

[Stable: 2 - 安定]

Stable: 2 安定度: 2 - 安定

<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

[Stable: 2 - 安定]

Stable: 2 安定度: 2 - 安定

<Headers> のブラウザ互換実装。

localStorage

追加: v22.4.0

[Stable: 1 - 実験的]

Stable: 1 安定度: 1 - 開発初期段階。

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 を参照してください。

追加: v21.0.0

[安定版: 1 - 実験的]

安定版: 1 安定性: 1。1 - アクティブな開発。この API を無効にするには、--no-experimental-global-navigator CLI フラグを使用します。

Navigator API の部分的な実装。

追加: v21.0.0

[安定版: 1 - 実験的]

安定版: 1 安定性: 1。1 - アクティブな開発。この API を無効にするには、--no-experimental-global-navigator CLI フラグを使用します。

window.navigator の部分的な実装。

追加: v21.0.0

navigator.hardwareConcurrency 読み取り専用プロパティは、現在の Node.js インスタンスで使用可能な論理プロセッサの数を返します。

js
console.log(`このプロセスは${navigator.hardwareConcurrency}個の論理プロセッサで実行されています`)

追加: v21.2.0

navigator.language 読み取り専用プロパティは、Node.js インスタンスの優先言語を表す文字列を返します。言語は、オペレーティングシステムのデフォルト言語に基づいて、実行時に Node.js が使用する ICU ライブラリによって決定されます。

値は、RFC 5646 で定義されている言語バージョンを表しています。

ICU なしのビルドにおけるフォールバック値は 'en-US' です。

js
console.log(`Node.jsインスタンスの優先言語は、'${navigator.language}'というタグを持っています`)

追加: v21.2.0

  • {Array

navigator.languages 読み取り専用プロパティは、Node.js インスタンスの優先言語を表す文字列の配列を返します。デフォルトでは、navigator.languagesにはnavigator.languageの値のみが含まれ、これは、オペレーティングシステムのデフォルト言語に基づいて、実行時に Node.js で使用される ICU ライブラリによって決定されます。

ICU のないビルドでのフォールバック値は ['en-US'] です。

js
console.log(`優先言語は '${navigator.languages}' です`)

追加: v21.2.0

navigator.platform 読み取り専用プロパティは、Node.js インスタンスが実行されているプラットフォームを識別する文字列を返します。

js
console.log(`このプロセスは ${navigator.platform} で実行されています`)

追加: v21.1.0

navigator.userAgent 読み取り専用プロパティは、ランタイム名とメジャーバージョン番号で構成されるユーザーエージェントを返します。

js
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() キューが常にマイクロタスクキューよりも先に処理されます。

js
// ここでは、'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

[Stable: 1 - 実験的]

Stable: 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--experimental-fetch CLI フラグの背後ではなくなりました。
v17.5.0, v16.15.0追加: v17.5.0, v16.15.0

[安定版: 2 - 安定]

安定版: 2 安定版: 2 - 安定

<Response> のブラウザ互換実装。

Request

[履歴]

バージョン変更点
v21.0.0実験的機能ではなくなりました。
v18.0.0--experimental-fetch CLI フラグの背後に隠されなくなりました。
v17.5.0, v16.15.0追加: v17.5.0, v16.15.0

[安定版: 2 - 安定]

安定版: 2 安定性: 2 - 安定

<Request> のブラウザ互換実装。

sessionStorage

追加: v22.4.0

[安定版: 1 - 実験的]

安定版: 1 安定性: 1 - 開発初期段階。

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

[安定版: 1 - 実験的]

安定版: 1 安定性: 1 - 開発初期段階。

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

[安定版: 2 - 安定]

安定版: 2 安定性: 2 - 安定。

<SubtleCrypto> のブラウザ互換実装。このグローバルは、Node.js バイナリがnode:cryptoモジュールのサポートを含めてコンパイルされた場合にのみ使用できます。

DOMException

追加: v17.0.0

WHATWG DOMException クラス。詳細については、DOMException を参照してください。

TextDecoder

追加: v11.0.0

WHATWG TextDecoder クラス。TextDecoder セクションを参照してください。

クラス: TextDecoderStream

追加: v18.0.0

[安定版: 1 - 実験的]

安定版: 1 安定性: 1 - 実験的。

TextDecoderStream のブラウザ互換実装。

TextEncoder

追加: v11.0.0

WHATWG TextEncoder クラス。TextEncoder セクションを参照してください。

クラス: TextEncoderStream

追加: v18.0.0

[安定版: 1 - 実験的]

安定版: 1 安定性: 1 - 実験的。

TextEncoderStream のブラウザ互換実装。

クラス: TransformStream

追加: v18.0.0

[安定版: 1 - 実験的]

安定版: 1 安定性: 1 - 実験的。

TransformStream のブラウザ互換実装。

クラス: 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--experimental-websocket CLI フラグの背後になくなりました。
v21.0.0, v20.10.0追加: v21.0.0, v20.10.0

[安定版: 2 - 安定版]

安定版: 2 安定度: 2 - 安定版。

WebSocket のブラウザ互換実装です。この API は、--no-experimental-websocket CLI フラグで無効にしてください。

クラス: WritableStream

追加: v18.0.0

[安定版: 1 - 実験的]

安定版: 1 安定度: 1 - 実験的。

WritableStream のブラウザ互換実装です。

クラス: WritableStreamDefaultController

追加: v18.0.0

[安定版: 1 - 実験的]

安定版: 1 安定度: 1 - 実験的。

WritableStreamDefaultController のブラウザ互換実装です。

クラス: WritableStreamDefaultWriter

追加: v18.0.0

[安定版: 1 - 実験的]

安定版: 1 安定度: 1 - 実験的。

WritableStreamDefaultWriter のブラウザ互換実装です。