Console

[up] [prev] [next]

目次

コンソール

コンソールは、ブラウザの開発ツールがサポートするコンソールウィンドウにデバッグログなどを書き出すのに使用されます。

ログ出力

console.log(args, ...)

args, ... で指定したオブジェクトを開発ツールのコンソールに書き出します。

JavaScript
console.log("This is DEBUG message.");

最近のブラウザでは、引数にオブジェクトを指定した場合、オブジェクトのリファレンスのみが出力され、オブジェクトの内容は、値を書き出した時点ではなく、コンソールでオブジェクトの ▶ をクリックして開いた時点の値が表示されるので注意が必要です。下記の例では console.log() で値を書き出した時点の "Yamada" ではなく、コンソールでオブジェクトを開いた時点の "Suzuki" が表示されます。

JavaScript
var obj1 = {"name": "Yamada"};
var obj2 = {"obj": obj1};
console.log(obj2);
obj1.name = "Suzuki";

console.log() を呼び出した時点のログを確実に書き出すには下記の様にしてください。

JavaScript
console.log(JSON.parse(JSON.stringify(obj)))

下記の様に %s などの置換文字列を用いて、変数の値を表示することもできます。置換文字列には %s(文字列)、%o(オブジェクト)、%d(整数値)、%f(浮動小数点数値)などを指定できます。

JavaScript
var name = "Yamada";
var age = 26;
console.log("name=%s, age=%d", name, age);

%c を用いると CSS スタイルを適用することができます。

JavaScript
console.log("%cERROR:%c File Not Found.", "color:red", "color:black");  => ERROR: File Not Found.

デバッグログとして変数名とその値を書き出す際 console.log({変数名}) とすることで変数名と値を簡単に出力することができます。o = {"x":123}; を x = 123; o = {x}; と記述できることを利用しています。

JavaScript
height = 123;
console.log("height: " + height);   // height: 123
console.log({height});              // {height: 123}
console.debug(args, ...)

デバッグメッセージを出力します。使用方法は log() を参照してください。

JavaScript
console.debug("This is DEBUG log...");
console.info(args, ...)

インフォメーションメッセージを出力します。使用方法は log() を参照してください。

JavaScript
console.info("This is INFORMATION log...");
console.warn(args, ...)

ワーニングメッセージを出力します。使用方法は log() を参照してください。

JavaScript
console.warn("This is WARNING log...");
console.error(args, ...)

エラーメッセージを出力します。使用方法は log() を参照してください。

JavaScript
console.error("This is ERROR log...");

スタックトレース

console.trace(args, ...)

スタックトレースを出力します。args の使用方法は log() を参照してください。

JavaScript
function foo() { console.trace("STACK TRACE"); }
function bar() { foo(); }
function baz() { bar(); }
baz();

タイマー

console.time([label])

label で指定したラベルのタイマを開始します。label を省略すると "default" というラベルが使用されます。

JavaScript
console.time("TimerA");
console.timeEnd("TimerA");
console.timeLog([label])

label で指定したラベルのタイマの開始からの経過時間を出力します。label を省略すると "default" というラベルが使用されます。

JavaScript
console.time("TimerA");
console.timeLog("TimerA");
console.timeLog("TimerA");
console.timeEnd("TimerA");
console.timeEnd([label])

label で指定したラベルのタイマを終了し、開始からの経過時間を出力します。label を省略すると "default" というラベルが使用されます。

JavaScript
console.time("TimerA");
console.timeEnd("TimerA");

カウンター

console.count([label])

指定したラベルで console.count() が呼び出された回数を表示します。label を省略すると "default" というラベルが使用されます。

JavaScript
console.count("ErrorCount");
console.countReset([label])

指定したラベルのカウンターをリセットします。label を省略すると "default" というラベルが使用されます。

JavaScript
console.countReset("ErrorCount");

グルーピング

console.group([label])

新たなインライングループを作成し、console.groupEnd() を呼び出すまでコンソールログを1段字下げします。label を使用するとグループの名前として label が表示されます。

JavaScript
console.log("A");
console.group();
console.log("A-1");
console.log("A-2");
console.groupEnd();
console.log("B");
console.groupCollapsed([label])

group() と似ていますが、グループをデフォルトで閉じた状態で表示する点が異なります。

JavaScript
console.log("A");
console.groupCollapsed();
console.log("A-1");
console.log("A-2");
console.groupEnd();
console.log("B");
console.groupEnd()

現在のグルーピングを終了します。

JavaScript
console.group();
  :
console.groupEnd();

その他

console.assert(condition, args, ...)

condition が false の時のみ args, ... をエラーメッセージとして書き出します。

JavaScript
console.assert(result == 1, "Result is not 1.");
console.clear()

コンソールの表示をすべて削除(クリア)します。

JavaScript
console.clear();
console.dir(obj)

オブジェクト情報を書き出します。console.log() と比べて引数に単一のオブジェクトしか指定できませんが、console.log() がオブジェクト情報を省略して出力することがあるのに対し、console.dir() はすべてのオブジェクト情報を書き出すことができます。

JavaScript
console.log(document.body);  # 主要情報のみ表示
console.dir(document.body);  # 属性情報などもすべて表示
console.dirxml(obj)

XML/HTML要素をツリー構造として書き出します。

JavaScript
console.dirxml(document.body);
console.table(data, [column, ...])

データをテーブル形式で表示します。

JavaScript
# ラベル無し一次元配列
var data = ["Red", "Green", "Blue"];
console.table(data);

# ラベル付き一次元配列
var data = {"red":"#f00", "green":"#0f0", "blue":"#00f"};
console.table(data);

# ラベル無し二次元配列
var data = [["A1", "A2", "A3"], ["B1", "B2", "B3"]];
console.table(data);

# ラベル有り二次元配列
var data = {"A": {"X":"AX", "Y":"AY"}, "B": {"X":"BX", "Y":"BY"}};
console.table(data);

第二引数を指定すると、表示する列を制限することができます。

JavaScript
var data = {"A": {"X": "AX", "Y": "AY"}, "B": {"X": "BX", "Y":"BY"}};
console.table(data, ["X"]);

[up] [prev] [next]
Copyright (C) 2022 杜甫々
改訂版初版:2022年5月29日、最終更新:2022年5月29日
http://www.tohoho-web.com/js/console.htm