はじめに
javascriptの開発時、console.log利用してブラウザなどのコンソールにログを出力するケースが多いかと思います。
よく利用するconsole.logですが、他にもwarningメッセージやエラーメッセージなど、各用途ごとにさまざまなオブジェクトが用意されています。
今回は、このconsole.○○のようなコンソールオブジェクトをすべて紹介したいと思います。
コンソールオブジェクト一覧
javascriptによる開発でよく利用するであろうコンソールオブジェクトを確認まとめました。
Method | 説明 |
---|---|
console.log() | 一般的なログ情報を出力するために利用します。 |
console.info() | 情報ログを出力する際に利用します。 |
console.debug() | デバッグメッセージを出力する際に利用します。 |
console.warn() | 警告メッセージを出力する際に利用します。 |
console.error() | エラーメッセージを出力する際に利用します。 |
console.assert() | 第1引数がfalseの場合に、メッセージとスタックトレースをコンソールに出力します。 |
console.clear() | コンソールをクリアします。 |
console.count() | 指定したラベルを用いて呼び出された回数を出力しいます。 |
console.dir() | 指定されたJavascriptオブジェクトのプロパティをすべてコンソール上で見ることができます。 |
console.group() | ログ出力に対してインライングループを作成します。 |
console.groupEnd() | group()で作成されたインライングループを終了します。 |
console.table() | 配列などのデータを、表形式で表示します。 |
console.time() | タイマーを起動します。 |
console.timeEnd() | time()で起動したタイマーを終了させます。呼び出し後、ミリ秒単位で経過時間を出力します。 |
console.trace() | スタックトレースを表示します。 |
使用例
console.logやinfo、warn、errorなどはよく利用する方も多いかと思います。infoやwarn、errorを利用することで、出力する背景色が変わります。今回の使用例はtimeやgroupについて紹介しておきます。それ以外は普通に単体で利用できます。
console.time/timeEnd
console.time();
// ...何かしらの処理
console.timeEnd();
// Console: default: 0.0029296875 ms
console.time("time1");
// ...何かしらの処理
console.timeEnd("time1");
// Console: time1: 0.0029296875 ms
引数にラベルをつけると、そのラベル名でコンソール出力されます。処理速度を図るのにとても簡単に実装できるタイマーです。
console.group/groupEnd
console.log("group indent level 0");
console.group()
console.log("group indent level 1-1");
console.log("group indent level 1-2");
console.group()
console.log("group indent level 2-1");
console.log("group indent level 2-2");
console.groupEnd();
console.log("group indent level 1-3");
console.groupEnd();
console.log("group indent level 0");
// Console: group indent level 0
// Console: ▽ console.group
// Console: group indent level 1-1
// Console: group indent level 1-2
// Console: ▽ console.group
// Console: group indent level 2-1
// Console: group indent level 2-2
// Console: group indent level 1-3
// Console: group indent level 0
出力結果を見てみると、ログ出力がグループ化されていることがわかります。
利用用途としては関数の深さでグルーピングすることで、どこでどのようなエラーが発生しているかどうか見分けることが容易になりますね。
最後に
consoleオブジェクトは開発時にとても重要です。ただconsole.logとして出力するのではなく、用途に合わせて出力することで、保守性が高まります。
是非参考にしてみてください。