Console
の log()
メソッドは、ウェブコンソールにメッセージを出力します。このメッセージは単一の文字列 (オプションの置換値を含む) であることもあれば、1 つ以上の JavaScript オブジェクトであることもあります。
註: この機能は Web Workers 内で利用可能です。
構文
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
の値を確実に見ることができます。こうしないと、多くのブラウザーでは値が変化したときに常に更新されるライブビューになります。これは望むことではないかもしれません。
仕様書
仕様書 | 状態 | 備考 |
---|---|---|
Console API console.log() の定義 |
現行の標準 | 初回定義 |
ブラウザーの互換性
BCD tables only load in the browser
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
関連情報
- Opera Dragonfly documentation: Console
- MSDN: F12 ツールのコンソールを使ったエラーおよびステータスの表示
- Firebug wiki: Console API - Firebug は console.log() で 『スタイリングされたログ出力』 などの追加機能もサポートしています。
- NodeJS: Console API