在 console.log 中显示了错误的 Class 名称

Wrong Class Name Showing in console.log

在 Node.js 中,我创建了一个 class,在其中我在测试期间将 class 的实例记录到控制台。

当我 console.log(anObjectFromThatClass) 时,字母 "Vo" 位于终端输出中该对象的左花括号之前。

通常,我希望在花括号前看到 class 名称,但我看到的却是 Vo {}。实际上 class 名称在其名称的任何地方都没有 "V" 或 "o",也没有扩展另一个具有 "V" 或 [=31] 的 class =] 在其名称中。

我试着用谷歌搜索 "Vo" 是什么意思,但由于该搜索的所有误报,我找不到任何东西。

由于政策原因,我无法在此处 post 实际 class。我知道我没有给你太多继续下去的东西,但你能想出为什么当控制台记录一个不包含 'Vo' 的 class 实例时 "Vo" 会出现在大括号之前的原因吗?在它的名字?它与 V8 引擎提供给 node.js 的某种类型的 live view 有什么关系吗?

我已经尝试创建一个 class 来重现此行为,为此 post,但是我创建的每个 class 都只记录正确的 class 名称在大括号之前。这段代码有很多承诺和异步等待的东西,也许可以改变 class-console.log?

输出的名称

我应该很高兴这段代码运行良好,忘记 console.log() 的特质。不过,我还是很好奇,如果你知道'Vo'是什么意思,请告诉我。

记录的对象console.logged 之前出现的字母将成为class、as它在 运行 的代码中表示。听起来获取 运行 的代码与您的源代码不同 - 也许它以某种方式被缩小,导致 运行 代码具有 class Vo { 或类似的东西,即使源代码使用 class MyClass {.

如果代码 运行 没有缩小或其他转换,当对象被记录时,您将看到 MyClass { 而不是 Vo {