全域物件#

這些物件在所有模組中都可用。

下列變數可能看似是全域變數,但並非如此。它們只存在於 CommonJS 模組 的範圍內

這裡列出的物件是 Node.js 特有的。有一些 內建物件 是 JavaScript 語言本身的一部分,也可以全域存取。

類別:AbortController#

一個用於在選定的基於 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);  // Prints true 

abortController.abort([reason])#

  • reason <any> 可選的理由,可於 AbortSignalreason 屬性中擷取。

觸發中止訊號,導致 abortController.signal 發出 'abort' 事件。

abortController.signal#

類別:AbortSignal#

AbortSignal 用於在呼叫 abortController.abort() 方法時通知觀察者。

靜態方法:AbortSignal.abort([reason])#

傳回新的已中止 AbortSignal

靜態方法:AbortSignal.timeout(delay)#
  • delay <number> 觸發 AbortSignal 前要等待的毫秒數。

傳回新的 AbortSignal,它將在 delay 毫秒後中止。

靜態方法:AbortSignal.any(signals)#
  • signals <AbortSignal[]> 要用來組成新的 AbortSignalAbortSignal

傳回一個新的 AbortSignal,如果任何提供的訊號中斷,它也會中斷。它的 abortSignal.reason 會設定為導致它中斷的 signals 中的一個。

事件:'abort'#

當呼叫 abortController.abort() 方法時,會發出 'abort' 事件。會使用單一物件引數呼叫回呼,其中包含設定為 'abort' 的單一 type 屬性。

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(); 

AbortSignal 關聯的 AbortController 只會觸發一次 'abort' 事件。我們建議在新增 'abort' 事件監聽器之前,程式碼檢查 abortSignal.aborted 屬性是否為 false

附加至 AbortSignal 的任何事件監聽器都應使用 { once: true } 選項(或如果使用 EventEmitter API 來附加監聽器,請使用 once() 方法),以確保在處理 'abort' 事件後立即移除事件監聽器。如果未執行此操作,可能會導致記憶體外洩。

abortSignal.aborted#
  • 類型:<boolean>AbortController 中斷後為 True。
abortSignal.onabort#

使用者程式碼可以設定的選用回呼函式,在呼叫 `abortController.abort()` 函式時會收到通知。

abortSignal.reason#

觸發 `AbortSignal` 時指定的選用原因。

const ac = new AbortController();
ac.abort(new Error('boom!'));
console.log(ac.signal.reason);  // Error: boom! 
abortSignal.throwIfAborted()#

如果 `abortSignal.aborted` 為 `true`,會擲回 `abortSignal.reason`。

類別:Blob#

請參閱 <Blob>

類別:Buffer#

用於處理二進位資料。請參閱 緩衝區區段

類別:ByteLengthQueuingStrategy#

穩定性:1 - 實驗性。

與瀏覽器相容的 ByteLengthQueuingStrategy 實作。

__dirname#

此變數看起來可能是全域性的,但並非如此。請參閱 __dirname

__filename#

這個變數看起來可能是全域的,但實際上並非如此。請參閱 __filename

atob(data)#

穩定性:3 - 舊版。請改用 Buffer.from(data, 'base64')

buffer.atob() 的全域別名。

BroadcastChannel#

請參閱 <BroadcastChannel>

btoa(data)#

穩定性:3 - 舊版。請改用 buf.toString('base64')

buffer.btoa() 的全域別名。

clearImmediate(immediateObject)#

clearImmediatetimers 區段中說明。

clearInterval(intervalObject)#

clearIntervaltimers 區段中說明。

clearTimeout(timeoutObject)#

clearTimeouttimers 區段中說明。

類別:CompressionStream#

穩定性:1 - 實驗性。

CompressionStream 的瀏覽器相容實作。

console#

用於列印至 stdout 和 stderr。請參閱 console 區段。

類別:CountQueuingStrategy#

穩定性:1 - 實驗性。

CountQueuingStrategy 的瀏覽器相容實作。

Crypto#

穩定性:1 - 實驗性質。使用 --no-experimental-global-webcrypto CLI 旗標停用此 API。

Crypto 的瀏覽器相容實作。此全域變數僅在 Node.js 二進位檔編譯時包含對 node:crypto 模組支援時可用。

crypto#

穩定性:1 - 實驗性質。使用 --no-experimental-global-webcrypto CLI 旗標停用此 API。

Web Crypto API 的瀏覽器相容實作。

CryptoKey#

穩定性:1 - 實驗性質。使用 --no-experimental-global-webcrypto CLI 旗標停用此 API。

CryptoKey 的瀏覽器相容實作。此全域變數僅在 Node.js 二進位檔編譯時包含對 node:crypto 模組支援時可用。

CustomEvent#

穩定性:1 - 實驗性。使用 --no-experimental-global-customevent CLI 標記停用此 API。

與瀏覽器相容的 CustomEvent Web API 實作。

類別:DecompressionStream#

穩定性:1 - 實驗性。

與瀏覽器相容的 DecompressionStream 實作。

Event#

與瀏覽器相容的 Event 類別實作。詳情請參閱 EventTargetEvent API

EventTarget#

與瀏覽器相容的 EventTarget 類別實作。詳情請參閱 EventTargetEvent API

exports#

此變數看似是全域變數,但並非如此。請參閱 exports

fetch#

穩定性:2 - 穩定

與瀏覽器相容的 fetch() 函式實作。

類別:File#

請參閱 <File>

類別 FormData#

穩定性:2 - 穩定

與瀏覽器相容的 <FormData> 實作。

global#

穩定性:3 - 過時。請改用 globalThis

在瀏覽器中,頂層範圍傳統上是全域範圍。這表示 var something 會定義新的全域變數,但 ECMAScript 模組除外。在 Node.js 中,情況不同。頂層範圍並非全域範圍;Node.js 模組中的 var something 會是該模組的局部變數,不論是 CommonJS 模組ECMAScript 模組

類別 Headers#

穩定性:2 - 穩定

與瀏覽器相容的 <Headers> 實作。

MessageChannel#

MessageChannel 類別。請參閱 MessageChannel 以取得更多詳細資料。

MessageEvent#

MessageEvent 類別。請參閱 MessageEvent 以取得更多詳細資料。

MessagePort#

MessagePort 類別。請參閱 MessagePort 以取得更多詳細資料。

module#

這個變數看起來像是全域變數,但並非如此。請參閱 module

Navigator#

穩定性:1.1 - 積極開發中。使用 --no-experimental-global-navigator CLI 旗標停用此 API。

Navigator API 的部分實作。

navigator#

穩定性:1.1 - 積極開發中。使用 --no-experimental-global-navigator CLI 旗標停用此 API。

window.navigator 的部分實作。

navigator.hardwareConcurrency#

navigator.hardwareConcurrency 唯讀屬性傳回目前 Node.js 實例可用的邏輯處理器數量。

console.log(`This process is running on ${navigator.hardwareConcurrency} logical processors`); 

navigator.language#

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}'`); 

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}'`); 

navigator.platform#

navigator.platform 唯讀屬性會傳回一個字串,識別 Node.js 執行個體所執行的平台。

console.log(`This process is running on ${navigator.platform}`); 

navigator.userAgent#

navigator.userAgent 唯讀屬性會傳回使用者代理,包含執行時間名稱和主要版本號碼。

console.log(`The user-agent is ${navigator.userAgent}`); // Prints "Node.js/21" 

PerformanceEntry#

PerformanceEntry 類別。請參閱 PerformanceEntry 以取得更多詳細資料。

PerformanceMark#

PerformanceMark 類別。請參閱 PerformanceMark 以取得更多詳細資料。

PerformanceMeasure#

PerformanceMeasure 類別。請參閱 PerformanceMeasure 以取得更多詳細資料。

PerformanceObserver#

PerformanceObserver 類別。請參閱 PerformanceObserver 以取得更多詳細資料。

PerformanceObserverEntryList#

PerformanceObserverEntryList 類別。請參閱 PerformanceObserverEntryList 以取得更多詳細資料。

PerformanceResourceTiming#

PerformanceResourceTiming 類別。請參閱 PerformanceResourceTiming 以取得更多詳細資料。

效能#

perf_hooks.performance 物件。

程序#

程序物件。請參閱 process 物件 區段。

queueMicrotask(callback)#

queueMicrotask() 方法排隊微任務來呼叫 callback。如果 callback 擲回例外,process 物件 'uncaughtException' 事件將會發出。

微任務佇列由 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);
}; 

類別:ReadableByteStreamController#

穩定性:1 - 實驗性。

ReadableByteStreamController 的瀏覽器相容實作。

類別:ReadableStream#

穩定性:1 - 實驗性。

ReadableStream 的瀏覽器相容實作。

類別:ReadableStreamBYOBReader#

穩定性:1 - 實驗性。

ReadableStreamBYOBReader 的瀏覽器相容實作。

類別:ReadableStreamBYOBRequest#

穩定性:1 - 實驗性。

ReadableStreamBYOBRequest 的瀏覽器相容實作。

類別:ReadableStreamDefaultController#

穩定性:1 - 實驗性。

ReadableStreamDefaultController 的瀏覽器相容實作。

類別:ReadableStreamDefaultReader#

穩定性:1 - 實驗性。

ReadableStreamDefaultReader 的瀏覽器相容實作。

require()#

這個變數看起來是全域的,但並非如此。請參閱 require()

Response#

穩定性:2 - 穩定

Response 的瀏覽器相容實作。

Request#

穩定性:2 - 穩定

Request 的瀏覽器相容實作。

setImmediate(callback[, ...args])#

setImmediate計時器 區段中說明。

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

setInterval計時器 區段中說明。

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

setTimeout計時器 區段中說明。

structuredClone(value[, options])#

WHATWG structuredClone 方法。

SubtleCrypto#

穩定性:1 - 實驗性質。使用 --no-experimental-global-webcrypto CLI 旗標停用此 API。

與瀏覽器相容的 <SubtleCrypto> 實作。此全域變數僅在 Node.js 二進位檔編譯時包含對 node:crypto 模組支援時才可用。

DOMException#

WHATWG DOMException 類別。更多詳細資料,請參閱 DOMException

TextDecoder#

WHATWG TextDecoder 類別。請參閱 TextDecoder 區段。

類別:TextDecoderStream#

穩定性:1 - 實驗性。

與瀏覽器相容的 TextDecoderStream 實作。

TextEncoder#

WHATWG TextEncoder 類別。請參閱 TextEncoder 區段。

類別:TextEncoderStream#

穩定性:1 - 實驗性。

與瀏覽器相容的 TextEncoderStream 實作。

類別:TransformStream#

穩定性:1 - 實驗性。

與瀏覽器相容的 TransformStream 實作。

類別:TransformStreamDefaultController#

穩定性:1 - 實驗性。

與瀏覽器相容的 TransformStreamDefaultController 實作。

URL#

WHATWG URL 類別。請參閱 URL 區段。

URLSearchParams#

WHATWG URLSearchParams 類別。請參閱 URLSearchParams 區段。

WebAssembly#

作為所有 W3C WebAssembly 相關功能之命名空間的物件。請參閱 Mozilla Developer Network 以了解用法和相容性。

WebSocket#

穩定性:1 - 實驗性。

與瀏覽器相容的 WebSocket 實作。使用 --experimental-websocket CLI 旗標啟用此 API。

類別:WritableStream#

穩定性:1 - 實驗性。

與瀏覽器相容的 WritableStream 實作。

類別:WritableStreamDefaultController#

穩定性:1 - 實驗性。

與瀏覽器相容的 WritableStreamDefaultController 實作。

類別:WritableStreamDefaultWriter#

穩定性:1 - 實驗性。

與瀏覽器相容的 WritableStreamDefaultWriter 實作。