' console.log([]) '和' console.log([]. tostring()) '提供不同的输出

`console.log([])` and `console.log([].toString())` provide different outputs

本文关键字:log console 输出 tostring      更新时间:2023-09-26

我注意到,在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)输出作为一个字符串,所以我也许可以将它与另一个字符串连接?

谢谢。

我猜你用的是node.js。

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

所以答案是:

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