如何美化打印JavaScript对象/变量?

6

****不是重复***所提到的重复答案仅涉及JSON****

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

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

这最终会变成这样:
{ prop1: 'value1', prop2: 2 }
 
User: [Object object]

1
记录变量本身,而不是像 console.log('User: ', user); 中的 .toString() 版本。 - Ouroborus
1个回答

6
将上面的例子更改为:
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)}`);

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

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

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

2
这不太好看。键周围没有引号是没有必要的。请给出一个不使用JSON的答案。 - John Deighan
2
好的,看起来不错 - 感谢你的建议 - 你是一个真正的天才,显然很无聊。 - DropHit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接