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 プロパティで取得できます。

abort シグナルをトリガーし、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

'abort' イベントは、abortController.abort() メソッドが呼び出されたときに発生します。 コールバックは、type プロパティが 'abort' に設定された単一のオブジェクト引数で呼び出されます。

js
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

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

abortSignal.reason

Added in: 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()

Added in: v17.3.0, v16.17.0

abortSignal.abortedtrue の場合、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

[Stable: 3 - Legacy]

Stable: 3 安定度: 3 - レガシー。代わりに buf.toString('base64') を使用してください。

buffer.btoa() のグローバルエイリアス。

clearImmediate(immediateObject)

Added in: v0.9.1

clearImmediatetimers セクションで説明されています。

clearInterval(intervalObject)

Added in: v0.0.1

clearIntervaltimers セクションで説明されています。

clearTimeout(timeoutObject)

Added in: v0.0.1

clearTimeouttimers セクションで説明されています。

CloseEvent

Added in: v23.0.0

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

CloseEvent のブラウザ互換実装。--no-experimental-websocket CLI フラグでこの API を無効にします。

Class: CompressionStream

Added in: v18.0.0

[Stable: 1 - Experimental]

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

CompressionStream のブラウザ互換実装。

console

Added in: v0.1.100

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

Class: CountQueuingStrategy

Added in: v18.0.0

[Stable: 1 - Experimental]

Stable: 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のブラウザ互換実装。

Class: DecompressionStream

Added in: v18.0.0

[Stable: 1 - Experimental]

Stable: 1 Stability: 1 - Experimental.

DecompressionStream のブラウザ互換実装。

Event

[History]

VersionChanges
v15.4.0Experimentalではなくなりました。
v15.0.0Added 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]

VersionChanges
v15.4.0Experimentalではなくなりました。
v15.0.0Added in: v15.0.0

EventTarget クラスのブラウザ互換実装。詳細は EventTarget および Event API を参照してください。

exports

この変数はグローバルに見えるかもしれませんが、そうではありません。exports を参照してください。

fetch

[History]

VersionChanges
v21.0.0Experimentalではなくなりました。
v18.0.0--experimental-fetch CLIフラグの背後に隠されなくなりました。
v17.5.0, v16.15.0Added 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

[安定版: 2 - 安定]

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

<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

[安定版: 2 - 安定]

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

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

localStorage

追加: v22.4.0

[安定版: 1 - 実験的]

安定版: 1 安定性: 1 - 早期開発。

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

Added in: v21.0.0

[Stable: 1 - Experimental]

Stable: 1 安定度: 1.1 - 活発な開発。この API を無効にするには、--no-experimental-global-navigator CLI フラグを使用します。

Navigator API の部分的な実装。

Added in: v21.0.0

[Stable: 1 - Experimental]

Stable: 1 安定度: 1.1 - 活発な開発。この API を無効にするには、--no-experimental-global-navigator CLI フラグを使用します。

window.navigator の部分的な実装。

Added in: v21.0.0

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

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

Added in: v21.2.0

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

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

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

js
console.log(`Node.js インスタンスの優先言語にはタグ '${navigator.language}' があります`);

Added in: v21.2.0

  • {Array

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

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

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

Added in: v21.2.0

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

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

Added in: v21.1.0

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

js
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 イベントループの各ターンにおいて、常にマイクロタスクキューの前に処理されます。

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

[安定版: 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.0 - 早期開発。

sessionStorage のブラウザ互換実装。データはメモリに保存され、ストレージクォータは 10 MB です。sessionStorage データは、現在実行中のプロセス内でのみ保持され、ワーカー間で共有されません。

setImmediate(callback[, ...args])

追加: v0.9.1

setImmediatetimers セクションで説明されています。

setInterval(callback, delay[, ...args])

追加: v0.0.1

setIntervaltimers セクションで説明されています。

setTimeout(callback, delay[, ...args])

追加: v0.0.1

setTimeouttimers セクションで説明されています。

Class: Storage

追加: v22.4.0

[安定版: 1 - 実験的]

安定版: 1 安定度: 1.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

[安定版: 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

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

[履歴]

VersionChanges
v22.4.0実験的ではなくなりました。
v22.0.0--experimental-websocket CLI フラグの背後になくなりました。
v21.0.0, v20.10.0Added in: v21.0.0, v20.10.0

[Stable: 2 - 安定]

Stable: 2 安定度: 2 - 安定。

WebSocket のブラウザ互換実装。--no-experimental-websocket CLI フラグを使用して、この API を無効にします。

Class: WritableStream

Added in: v18.0.0

[Stable: 1 - 実験的]

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

WritableStream のブラウザ互換実装。

Class: WritableStreamDefaultController

Added in: v18.0.0

[Stable: 1 - 実験的]

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

WritableStreamDefaultController のブラウザ互換実装。

Class: WritableStreamDefaultWriter

Added in: v18.0.0

[Stable: 1 - 実験的]

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

WritableStreamDefaultWriter のブラウザ互換実装。