console.log

デバッガの Web コンソールにメッセージを出力します。

註: この機能は Web Workers 内で利用可能です。

構文

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

引数

obj1 ... objN
出力する JavaScript オブジェクトのリスト。各オブジェクトの文字列表現が記述順で出力されます。Chrome や Firefox の比較的新しいバージョンを使っているなら注意が必要です。これらのブラウザで記録されるのはオブジェクトへのリファレンスです。そのため、console.log() を呼び出した時点でのオブジェクトの値が表示されるのではなく、内容を見るために展開させた時点での値が表示されます。
msg
0 個以上の置換文字列 (substitution strings)を含む JavaScript 文字列
subst1 ... substN
JavaScript オブジェクトと msg 内の置換文字列を置換。これにより、出力の書式の詳細な制御が可能となります。

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

仕様

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

ブラウザ実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
logChrome 完全対応 1Edge 完全対応 12Firefox 完全対応 4IE 完全対応 8Opera 完全対応 10.5Safari 完全対応 3WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 11Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0
Substitution stringsChrome 完全対応 あり
補足
完全対応 あり
補足
補足 In version 28, if a negative value is passed to %d, it will be rounded down to the closest negative integer, so -0.1 becomes -1.
Edge 完全対応 12
補足
完全対応 12
補足
補足 In EdgeHTML, %c is not supported, and %d outputs a 0 if the specified value isn't a number. This behavior has been fixed in Chromium versions of Edge.
Firefox 完全対応 9IE 完全対応 10
補足
完全対応 10
補足
補足 %c is not supported, %d will render as 0 when it is not a number
Opera ? Safari ? WebView Android 完全対応 あり
補足
完全対応 あり
補足
補足 In version 28, if a negative value is passed to %d, it will be rounded down to the closest negative integer, so -0.1 becomes -1.
Chrome Android 完全対応 あり
補足
完全対応 あり
補足
補足 In version 28, if a negative value is passed to %d, it will be rounded down to the closest negative integer, so -0.1 becomes -1.
Firefox Android 完全対応 9Opera Android ? Safari iOS ? Samsung Internet Android 完全対応 あり
補足
完全対応 あり
補足
補足 In Samsung Internet 1.5, if a negative value is passed to %d, it will be rounded down to the closest negative integer, so -0.1 becomes -1.

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。

console.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))); とした方が良いでしょう。

こうすれば確実にログ時点での値を参照出来ます。

関連情報