swfbarhr/blog

Console

Magic-Bytes opened this issue · 2 comments

Console.dir例子运行的结果有误吧?第四层为什么还是obj?

@jackandjohn
首先例子没有错误,但是可能有一点我漏解释了:uitl.inspect会返回一个string的结果,也就是说这个方法的最后结果是一个string。console.dir(obj)确实与uitl.inspect功能一致:

var util = require('util');

var info = {
  status: 200,
  msg: {
    user:{
      name: 'Peter',
      country: 'Japan',
      company: {
        name: '全球无限皮包公司',
        ceo: {
          name: 'Lucy'
        }
      }
    }
  }
}

console.dir(info); // { status: 200,  msg: { user: { name: 'Peter', country: 'Japan', company: [Object] } } }
console.log(typeof util.inspect(info)); // string
console.log(util.inspect(info)); // { status: 200,  msg: { user: { name: 'Peter', country: 'Japan', company: [Object] } } }

console.dir方法相当于util.inspect第二个参数使用缺省值,所以我例子中company是:[Object]
不知道以上的解释是否满意?同样谢谢你关注我的博客

明白,即第二个参数需要设置为{depth:null},希望你能继续写下去,我会一直关注的