`console.log([])`和`console.log([]。toString())`提供不同的输出

时间:2014-03-27 05:19:21

标签: javascript node.js

我注意到,在NodeJS中,console.log([])console.log([].toString())分别生成[]和空字符串。我想知道为什么会这样,以及如何将console.log([])的输出作为字符串?

我理解数组,我只需用括号.toString()包裹[],但对于其他构造对象,请说Buffer

var b = new Buffer('hi');

console.log(b); // <Buffer 68 69>
console.log(b.toString()); // hi
console.log('' + b); // hi

是否可以将裸console.log(b)输出作为字符串,以便我可以将其与另一个字符串连接?

感谢。

1 个答案:

答案 0 :(得分:2)

我猜你使用node.js。

阅读文档。 console.log使用util.format

所以答案是:

var util = require('util');
var b = new Buffer('hi');
var str = util.format(b);