console.log%o不打印对象参数

时间:2016-08-05 12:39:04

标签: javascript node.js

根据https://developer.mozilla.org/en-US/docs/Web/API/Console,术语%o应该将参数打印为对象。

以下代码:

var a = [34, 203, 3, 746, 200, 984, 198, 764, 9];
console.log('myFunc(%o)', a);

输出结果:

myFunc(%o) [ 34, 203, 3, 746, 200, 984, 198, 764, 9 ]

我在期待:

myFunc([ 34, 203, 3, 746, 200, 984, 198, 764, 9 ])

解决方法:由于%o不是标准,因为Tusher指出并且在节点https://nodejs.org/api/console.html中不存在,因此以下输出正确:

console.log('myFunc([%s])', a);

robertkleps版也有效:

console.log('myFunc(%j)', a)

1 个答案:

答案 0 :(得分:2)

使用es6 template literals

var a = [34, 203, 3, 746, 200, 984, 198, 764, 9];
console.log(`myFunc([${a}])`);

> myFunc([ 34, 203, 3, 746, 200, 984, 198, 764, 9 ])

希望有所帮助:)