Chromeコンソールでオブジェクト全体を表示するにはどうすればよいですか?


155
var functor=function(){
    //test
}

functor.prop=1;

console.log(functor);

これはファンクターの関数部分のみを表示し、コンソールにファンクターのプロパティを表示することはできません。

回答:


245

次のようconsole.dir()に、.toString()バージョンの代わりにクリックスルーできる参照可能なオブジェクトを出力するために使用します。

console.dir(functor);

指定されたオブジェクトのJavaScript表現を出力します。ログに記録されるオブジェクトがHTML要素である場合、そのDOM表現のプロパティが出力されます[1]


[1] https://developers.google.com/web/tools/chrome-devtools/debug/console/console-reference#dir


1
varNameChromeコンソールで印刷してEnterキーを押すだけでと同じ効果が得られることに注意してくださいconsole.dir(varName)
Vadzim 2017年

118

あなたがしようとするとあなたはより良い結果を得るかもしれません:

console.log(JSON.stringify(functor));

この回答は素晴らしいですが、上記のサンプルでは機能せず、新しいタブで試して未定義を返します
aitorllj93

1
この答えにすべての敬意を払って、最終的にそれはオブジェクトを表す文字列を返します。質問がすべてここにあるように、コンソールでは「ブラウズ可能な」オブジェクトではありません。確かに、この出力文字列をJSON.parseで実行すると、オブジェクト形式に戻りますが、コンソールには引き続き ".toString()"が表示され、正方形に戻ります。「console.dir」を使用したここでの答えは、手元の質問に最適です。
TheCuBeMan 2016年

21

あなたがしようとすると、あなたはさらに良い結果を得るかもしれません:

console.log(JSON.stringify(obj, null, 4));

この回答は、出力をフォーマットすることによって@BastiBenを改善します。
Xeoncross

12
var gandalf = {
  "real name": "Gandalf",
  "age (est)": 11000,
  "race": "Maia",
  "haveRetirementPlan": true,
  "aliases": [
    "Greyhame",
    "Stormcrow",
    "Mithrandir",
    "Gandalf the Grey",
    "Gandalf the White"
  ]
};
//to console log object, we cannot use console.log("Object gandalf: " + gandalf);
console.log("Object gandalf: ");
//this will show object gandalf ONLY in Google Chrome NOT in IE
console.log(gandalf);
//this will show object gandalf IN ALL BROWSERS!
console.log(JSON.stringify(gandalf));
//this will show object gandalf IN ALL BROWSERS! with beautiful indent
console.log(JSON.stringify(gandalf, null, 4));

8

これは私にとって完璧に機能しました:

for(a in array)console.log(array[a])

コンソールで作成された任意の配列を抽出して、このデータの検索/置換クリーンアップと事後使用を行うことができます


3
もう少し詳しく:for (i in arr) { console.log(i); console.log(arr[i]); }
Geo

それは、出力プロパティとメソッドは、その列挙ではありませんではないでしょう
BarbuのBarbuの

0

便利なものをコンソールに出力するための関数を書きました。

// function for debugging stuff
function print(...x) {
    console.log(JSON.stringify(x,null,4));
}

// how to call it
let obj = { a: 1, b: [2,3] };
print('hello',123,obj);

コンソールに出力されます:

[
    "hello",
    123,
    {
        "a": 1,
        "b": [
            2,
            3
        ]
    }
]

0

最新のブラウザでは、console.log(functor)完全に動作します(動作はと同じでしたconsole.dir)。


0

Trident D'Gaoの回答の関数を作成しました。

function print(obj) {
  console.log(JSON.stringify(obj, null, 4));
}

どうやって使うのですか

print(obj);

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.