【发布时间】:2019-11-25 11:28:42
【问题描述】:
在 Node.js 中,我创建了一个类,我在测试期间将该类的实例记录到控制台。
当我 console.log(anObjectFromThatClass) 时,字母“Vo”在终端输出中该对象的左大括号之前。
通常,我希望看到大括号前面的类名,但我看到的是Vo {}。实际的类名在其名称中的任何位置都没有“V”或“o”,也没有扩展另一个名称中带有“V”或“o”的类。
我尝试用谷歌搜索“Vo”是什么意思,但由于该搜索的所有误报,我找不到任何东西。
由于政策原因,我无法在此处发布实际课程。我意识到我并没有给你太多的帮助,但是你能想出一个原因,当控制台记录一个名称中不包含“Vo”的类的实例时,为什么“Vo”会出现在大括号之前?是不是和V8引擎提供给node.js的某种live view有关系?
对于这篇文章,我尝试创建一个重现此行为的类,但我创建的每个类都只是在大括号前记录正确的类名。这段代码有很多 promises 和 async await 的东西,也许这会改变 console.log 输出的类名?
我应该很高兴这段代码运行良好,忘记了console.log() 的特质。但是,我仍然很好奇,所以如果你知道这个“Vo”是什么意思,请告诉我。
【问题讨论】:
-
你确定运行的代码没有被缩小(或者以某种方式自动修改)吗?这就是我的猜测,但如果没有minimal reproducible example,很难调试
-
哦!就是这样!我完全忘记了这一点。如果你发帖,你就会得到答案。谢谢!
标签: javascript node.js class async-await console.log