Console.assert()

console.assert() は、アサーションが false になる場合に、コンソールへエラーメッセージを出力します。アサーションが true になる場合は、何も行いません。

注: この機能は Web Worker 内で利用可能です

構文

console.assert(assertion, obj1 [, obj2, ..., objN]);
console.assert(assertion, msg [, subst1, ..., substN]); // C ライクなメッセージ形式

引数

assertion
任意のブール式。アサーションが false になると、コンソールにメッセージを出力します。
obj1 ... objN
出力する JavaScript オブジェクトのリスト。各オブジェクトを文字列で表現したものを、リストの並び順に追記して出力します。
msg
0 個以上の置換文字列を含む JavaScript 文字列。
subst1 ... substN
msg 内の置換文字列を置き換える JavaScript オブジェクト。このパラメータで、出力形式を高度に制御できます。

Examples

下のコード例はオブジェクトをconsole.assert()に渡す場合を示しています。

const errorMsg = 'the # is not even';
for (let number = 2; number <= 5; number += 1) {
    console.log('the # is ' + number);
    console.assert(number % 2 === 0, {number: number, errorMsg: errorMsg});
    // ES2015 object property shorthand を使った版
    // console.assert(number % 2 === 0, {number, errorMsg});
}
// 出力:
// 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"}

置換文字列を含む文字列は、Node.jsや、大多数のブラウザではconsole.logのパラメータとして動作することに注意してください

console.log('the word is %s', 'foo');
// 出力: the word is foo

このような文字列の使用は、現在のところ、すべてのブラウザでconsole.assertのパラメータとして意図した通りには動作するわけではありません。

console.assert(false, 'the word is %s', 'foo');
// correct output in Node.js and some browsers
//     (e.g. Firefox v60.0.2):
// Assertion failed: the word is foo
// incorrect output in some browsers
//     (e.g. Chrome v67.0.3396.87):
// Assertion failed: the word is %s foo

詳しくは console のドキュメントで、コンソールにテキストを出力する をご覧ください。

仕様

仕様書 策定状況 コメント
Console API
console.assert() の定義
現行の標準 最初期の定義

ブラウザ実装状況

No compatibility data found for api.Console.assert.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.