console.log()

console.log() メソッドは、メッセージをウェブコンソールに出力します。 このメッセージは単一の文字列(オプションの置換値を含む)であることもあれば、1 つ以上の JavaScript オブジェクトであることもあります。

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

構文

console.log(obj1 [, obj2, ..., objN]);
console.log(msg [, subst1, ..., substN]);

引数

obj1 ... objN

出力する JavaScript オブジェクトのリスト。各オブジェクトの文字列表現が記述順で出力されます。 Chrome や Firefox の比較的新しいバージョンを使っているなら注意が必要です。これらのブラウザーで記録されるのはオブジェクトへの参照です。そのため、 console.log() を呼び出した時点でのオブジェクトの「値」が表示されるのではなく、内容を見るために開いた時点での値が表示されます。

msg

0 個以上の置換文字列を含む JavaScript 文字列。

subst1 ... substN

JavaScript オブジェクトと msg 内の置換文字列を置換。これにより、出力の書式の詳細な制御が可能となります。

詳細については consoleコンソールへのテキストの出力の節を参照して下さい。

log() と dir() との違い

console.dir()console.log() の違いは何かという疑問を持つかもしれません。

Chrome では、コンソールに DOM 要素を送信した場合に大きな違いがあります。

ポイント:

  • console.log は、要素を HTML 状のツリーとして出力します。
  • console.dir は、要素を JSON 状のツリーとして出力します。

特に、 console.log は DOM 要素について特別扱いしますが、 console.dir はそうではありません。これは、DOM JS オブジェクトの全容を表現しようとする場合に役立ちます。

これらの機能に関する詳細情報が、 Chrome Console API reference に掲載されています。

オブジェクトのログ出力

console.log(obj) を使わず、 console.log(JSON.parse(JSON.stringify(obj))) を使用してください。

これにより、ログを記録した瞬間の obj の値を確実に見ることができます。こうしないと、多くのブラウザーでは値が変化したときに常に更新されるライブビューになります。これは望むことではないかもしれません。

仕様書

Specification
Console Standard
# log

ブラウザーの互換性

BCD tables only load in the browser

関連情報