如何在 Node.js 的 console.log() 中获取完整的对象,而不是 '[Object]'?

2022-01-30 00:00:00 debugging node.js javascript console.log

使用console.log()调试时,如何获取完整对象?

When debugging using console.log(), how can I get the full object?

const myObject = {
   "a":"a",
   "b":{
      "c":"c",
      "d":{
         "e":"e",
         "f":{
            "g":"g",
            "h":{
               "i":"i"
            }
         }
      }
   }
};    
console.log(myObject);

输出:

{ a: 'a', b: { c: 'c', d: { e: 'e', f: [Object] } } }

但我还想查看属性 f 的内容.

But I want to also see the content of property f.

推荐答案

需要使用util.inspect():

const util = require('util')

console.log(util.inspect(myObject, {showHidden: false, depth: null, colors: true}))

// alternative shortcut
console.log(util.inspect(myObject, false, null, true /* enable colors */))

输出

{ a: 'a',  b: { c: 'c', d: { e: 'e', f: { g: 'g', h: { i: 'i' } } } } }

请参阅 util.inspect() 文档.

See util.inspect() docs.

相关文章