📜  Node.js util.inspect() 方法(1)

📅  最后修改于: 2023-12-03 14:44:40.772000             🧑  作者: Mango

Node.js util.inspect() 方法

在Node.js中我们可以使用util.inspect()方法对对象进行打印输出。该方法接收一个JavaScript对象并返回其字符串表示形式。

用法
const util = require('util');

const object = {
  a: 1,
  b: {
    c: 2,
    d: {
      e: 3
    }
  }
};

console.log(util.inspect(object, { depth: null }));

输出结果:

{ a: 1, b: { c: 2, d: { e: 3 } } }
方法参数

util.inspect()方法有两个参数,第一个参数为需要打印的JavaScript对象,第二个参数为选项参数。选项参数可以是一个对象,具体选项:

  • showHidden:如果设置为true,将会输出Object对象的非可枚举属性和Symbol属性。
  • depth:指定对象里面的深度,如果不指定默认是2,指定为null时将会完整输出对象。
  • colors:如果设置为true,输出将带有 ANSI 颜色代码。
  • compact:如果设置为true,对象格式化后将不带有空格。
  • breakLength:指定输出的字符长度。
示例

以下是一个复杂对象的示例:

const util = require('util');

const person = {
  firstName: 'John',
  lastName: 'Smith',
  hobbies: ['reading', 'swimming', 'jogging'],
  address: {
      street: '123 Main St',
      city: 'New York',
      state: 'NY'
    },
    age: 29
};

console.log(util.inspect(person, { showHidden: false, depth: null }));

输出结果:

{ firstName: 'John',
  lastName: 'Smith',
  hobbies: [ 'reading', 'swimming', 'jogging' ],
  address:
   { street: '123 Main St',
     city: 'New York',
     state: 'NY' },
  age: 29 }
总结

使用util.inspect()方法可以方便地打印JavaScript对象的字符串表示形式,且可以从选项参数中指定输出形式。这是在调试过程中非常有用的一个工具。