console: assert() 静态方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

console.assert() 静态方法会在断言为 false 时向控制台写入一条错误消息。如果断言为 true,则什么也不发生。

语法

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

任何布尔表达式。如果断言为 false,则向控制台写入一条表示断言失败的通用消息。

val1valN

要输出的 JavaScript 值列表。在控制台中输出这些值中的每一个的表示,在通用断言失败消息之后(这可能与未显示这些值时输出的消息不同),并按照给定的顺序输出,消息之间以及值之间都有某种类型的分隔。如果 val1 是字符串,则存在一个特殊情况,如下所述。

msg

一个 JavaScript 字符串,包含零个或多个替换字符串,这些字符串将按照给定的顺序(最多到替换字符串的数量)被 subst1substN 替换。一个冒号、一个空格,然后是替换后的字符串,会附加到通用断言消息后面,形成详细的断言消息,并将结果输出到控制台。有关替换如何工作,请参阅 使用字符串替换

subst1substN

用于替换 msg 中替换字符串的 JavaScript 值。如果替换值的数量多于替换字符串的数量,则额外的这些值将以与没有格式字符串时相同的方式输出到控制台,位于详细断言消息之后。

有关更多详细信息,请参阅 console 文档中的 向控制台输出文本

返回值

无(undefined)。

示例

以下代码示例演示了如何在断言后使用 JavaScript 对象

js
const errorMsg = "the # is not even";
for (let number = 2; number <= 5; number++) {
  console.log(`the # is ${number}`);
  console.assert(number % 2 === 0, "%o", { number, errorMsg });
}
// output:
// the # is 2
// the # is 3
// Assertion failed: {number: 3, errorMsg: "the # is not even"}
// the # is 4
// the # is 5
// Assertion failed: {number: 5, errorMsg: "the # is not even"}

规范

规范
控制台
# assert

浏览器兼容性

另见