Node.js 6和匿名对象

Node.js 6和匿名对象,node.js,console,Node.js,Console,有人知道为什么从Node.js 6.0console.log开始有时会使用前导的anonymousword呈现对象吗 anonymous {val: 123} 这意味着什么?如何应对 我从我正在使用的一些库中获取它。这是Node.js 6.0.0中首次引入的一项功能,在通过util.inspect检查对象时,当将匿名对象写入控制台时,inspect会在匿名对象的前面加上字符串anonymous,表示匿名对象实例化 它不会影响功能,完全可以忽略。这通常是在将对象直接传递到函数中时造成的。比如ji

有人知道为什么从Node.js 6.0
console.log开始有时会使用前导的
anonymous
word呈现对象吗

anonymous {val: 123}
这意味着什么?如何应对


我从我正在使用的一些库中获取它。

这是Node.js 6.0.0中首次引入的一项功能,在通过
util.inspect检查对象时,当将匿名对象写入控制台时,inspect
会在匿名对象的前面加上字符串
anonymous
,表示匿名对象实例化


它不会影响功能,完全可以忽略。

这通常是在将对象直接传递到函数中时造成的。比如jimmy({test:'123'})。您可以尝试设置var obj={test:'123'};吉米(obj)。这可能会解决你的问题。如果我只是这样做,它不会复制。必须是其他的。例如,塞内卡将此视为错误:
error:Seneca:Action cmd:get,role:project响应的结果不是对象或数组:匿名{…}
@yentsun我猜,它正在使用
util.inspect
输出字符串,然后比较控制台渲染。这不是一个好的做法,因为它几乎从不表示有效的对象状态。将节点版本降级到4.x没有修复错误:
错误:seneca:Action cmd:get,role:project响应的结果不是对象或数组:{…}
,所以我猜这是与seneca相关的错误,您是对的-
匿名{}
不影响功能:)是否有方法(标志)将其关闭,以便节点不打印
匿名
?@MuratOzgul否,无法关闭。