→
ブラウザーのデバッグ コンソール(例えば Firefox のウェブ コンソール)へのアクセスを提供します。このオブジェクトの詳細な動作はブラウザーによって異なりますが、一般的に共通の機能セットが提供されています。
console オブジェクトには任意のグローバル オブジェクトからアクセスできます。閲覧スコープの Window や、特定の種類のワーカーを表す WorkerGlobalScope の console プロパティを通してアクセスできます。これは Window.console として公開されていますが、単に console として参照できます。
注: この機能は 内で利用可能です
console.groupEnd() でグループは閉じられ、字下げが戻されます。
console.group() とは異なり、グループが折りたたまれた状態で作られます。それを開くには手動で展開ボタンを操作する必要があります。
そのグループを戻すには、console.groupEnd() を呼び出します。
ブラウザーでF12を押すとコンソール画面が表示され、そこに表示をモニタリングできます。
各出力メソッドを使用する方法は 2 つあります。複数の文字列表現を 1 つの文字列に連結してコンソールに出力する形でオブジェクトのリストを渡す方法と、オブジェクトのリストに続けてそれらを置き換える任意の個数の置換文字列を渡す方法です。
もっとも簡単にログを記録する方法は、単一のオブジェクトを出力することです。
var someObject = { str: "Some text", id: 5 }; console.log(someObject);
出力結果: コンソールにて
⯈{str:
文字列を取る console オブジェクトのメソッドの一つ(log() など)に文字列を渡すと、以下の置換文字列を使用することができます。
%o
または %O
%d
または %i
%s
%f
Note: 精度の書式は Chrome では動作しません。
これらは引数リストの書式化文字列の後にある引数を引用します。例えば次のようになります。
for (var i=0; i<5; i++) { console.log("Hello, %s. You've called me %d times.", "Bob", i+1); }
出力は以下のようになります。
%c ディレクティブを使用すると、コンソールの出力に CSS スタイルを適用することができます。
console.log("This is %cMy stylish message", "color: yellow; font-style: italic; background-color: blue;padding: 2px");
ディレクティブの前のテキストは影響を受けませんが、ディレクティブの後ろのテキストは引数の CSS 宣言を使用して装飾されます。
%c は複数回使用することができます。
console.log("Multiple styles: %cred %corange", "color: red", "color: orange", "Additional unformatted message");
%c で利用できるプロパティは次の通りです。 (少なくとも、 Firefox では — 他のブラウザーでは異なる可能性があります):
Note: コンソール メッセージは、既定ではインライン要素と同様に動作します。padding、margin などの効果を得たい場合は、例えば display: inline-block のように設定してください。
関連するデータを視覚的に結合することによりコンソール出力をまとめるのに役立つ、入れ子になったグループを使用することができます。新たな入れ子のブロックを作成するには、console.group() を呼び出してください。console.groupCollapsed() メソッドは似ていますが、こちらは折りたたまれた状態の新たなブロックを作成し、中身を読むには展開ボタンを操作してブロックを開く必要があります。
現在のグループを抜けるには、console.groupEnd() を呼び出します。
例えば、以下のコードを実行します。
//コンソールにて console.log("This is the outer level"); console.group("First group"); console.log("In the first group"); console.group("Second group"); console.log("In the second group"); console.warn("Still in the second group"); console.groupEnd(); console.log("Back to the first group"); console.groupEnd(); console.debug("Back to the outer level");
出力は以下のようになります。
特定の操作にかかる時間を計るため、タイマーを設定することができます。タイマーを開始するには、引数で名前を指定して console.time() メソッドを呼び出します。タイマーを停止して経過時間をミリ秒単位で取得するには、タイマーの名前をまた引数で指定して console.timeEnd() メソッドを呼び出します。ページあたり最大 10,000 個のタイマーを同時に動かすことができます。
例えば、次のコードを実行したとします:
//コンソールにて console.time("answer time"); alert("Click to continue"); console.timeLog("answer time"); alert("Do a bunch of other stuff..."); console.timeEnd("answer time");
ユーザーがアラートボックスを解除するのにかかった時間を記録し、その時間をコンソールに記録し、ユーザーが 2 回目のアラートを解除するのを待ってから、終了時間をコンソールに記録します。
タイマーの名前は、タイマーの開始時と停止時の両方で表示されることに注意してください。
Note: タイマーをネットワーク通信の時間の計測に用いる場合、タイマーはトランザクション全体の所要時間を報告しますが、ネットワーク パネルに表示される時間はヘッダーの処理にかかった時間だけを表すことに注意してください。 レスポンス本文の記録を有効にしている場合は、レスポンス ヘッダーとレスポンス本文それぞれに表示される所要時間の合計が、コンソールに出力されている時間に一致します。
console オブジェクトはスタック トレースの出力にも対応しています。これは console.trace() を呼び出した場所へ至るための呼び出し経路を表示するものです。
//コンソールにて function foo() { function bar() { console.trace(); } bar(); } foo();
コンソールへの出力内容は以下のようになります: