我如何漂亮地打印 javascript 对象/变量?

Dro*_*Hit 6 javascript variables object

**** 不是重复的 *** 重复引用的答案仅指 JSON ****

我希望在将 js 变量记录到控制台时避免这种情况:

var user = {
  first: 'Jack',
  last: 'Green',
  age: 54
};
 
// plain console log
console.log(user);
 
// or with interpolation:
console.log(`User: ${user}`);
Run Code Online (Sandbox Code Playgroud)

这最终是这样的:

{ prop1: 'value1', prop2: 2 }
 
User: [Object object]
Run Code Online (Sandbox Code Playgroud)

Dro*_*Hit 7

将上面的例子修改为:

var user = {
  first: 'Jack',
  last: 'Green',
  age: 54
};

// plain console log
console.log(JSON.stringify(user, undefined, 2));

// or with interpolation:
console.log(`User: ${JSON.stringify(user, undefined, 2)}`);
Run Code Online (Sandbox Code Playgroud)

现在我们得到了漂亮的输出:

{
  "first": "Jack",
  "last": "Green",
  "age": 54
}

User: {
  "first": "Jack",
  "last": "Green",
  "age": 54
}
Run Code Online (Sandbox Code Playgroud)

  • 那不太漂亮。不需要在键周围加引号。请提供一个不使用 JSON 的答案。 (2认同)
  • 嗯,我觉得不错——谢谢你的建议——你是一个真正的天才,但显然很无聊。 (2认同)