console:assert() 靜態方法

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

備註: 此功能可在 Web Worker 中使用。

console.assert() 靜態方法會在斷言為假時,將錯誤訊息寫入主控台。若斷言為真,則不會有任何動作。

語法

js
console.assert(assertion)

console.assert(assertion, val1)
console.assert(assertion, val1, val2)
console.assert(assertion, val1, val2, /* …, */ valN)

console.assert(assertion, msg)
console.assert(assertion, msg, subst1)
console.assert(assertion, msg, subst1, /* …, */ substN)

參數

assertion

任何布林運算式。如果斷言為假,主控台會顯示一則通用的斷言失敗訊息。

val1valN

要輸出的 JavaScript 值清單。在顯示通用斷言失敗訊息後,這些值的表示形式會依順序輸出至主控台,訊息與每個值之間會有某種型式的分隔。當這些值存在時,輸出的訊息可能會與未提供這些值時有所不同。若 val1 是字串,則屬於特殊情況,將在後文說明。

msg

包含零個或多個替代字串的 JavaScript 字串,這些替代字串會依序被 subst1substN 取代,最多取代至替代字串的數量。系統會將冒號、空格及取代後的字串加到通用斷言訊息後,組成詳細的斷言訊息,並輸出至主控台。關於替代機制的詳細說明,請參見使用字串替代

subst1substN

用來取代 msg 中替代字串的 JavaScript 值。如果替代值多於替代字串,這些多出來的值會在詳細的斷言訊息之後,以與未使用格式字串時相同的方式輸出到主控台。

如需進一步了解,請參見 console 文件中的輸出文字到主控台

回傳值

無(undefined)。

範例

以下程式碼範例展示如何在斷言後輸出 JavaScript 物件:

js
const errorMsg = "該數字不是偶數";
for (let number = 2; number <= 5; number++) {
  console.log(`該數字是 ${number}`);
  console.assert(number % 2 === 0, "%o", { number, errorMsg });
}
// 輸出:
// 該數字是 2
// 該數字是 3
// Assertion failed: {number: 3, errorMsg: "該數字不是偶數"}
// 該數字是 4
// 該數字是 5
// Assertion failed: {number: 5, errorMsg: "該數字不是偶數"}

規範

Specification
Console
# assert

瀏覽器相容性

參見