【发布时间】:2017-09-18 10:46:06
【问题描述】:
我正在尝试获取一个数组对象并更改其打印表示 - 仅针对该对象,而不是程序中的所有数组。我希望设置 toString 属性可以完成这项工作,但它没有:
var a = [1, 2, 3]
// Prints using the default representation
console.log(a)
// Try to override toString
a.toString = function() {
return 'some new representation'
}
// Still uses the default representation
console.log(a)
我错过了什么?
【问题讨论】:
-
console.log()代码做它想做的事。当数组被强制为字符串值时,覆盖.toString()将起作用,但console.log()不一定会这样做,除非你强制它这样做。 -
检查链接link,你可以看到如何正确地做到这一点;
标签: javascript arrays node.js