[英]Wrong Class Name Showing in console.log
在 Node.js 中,我创建了一个类,在该类中我在测试期间将该类的实例记录到控制台。
当我 console.log(anObjectFromThatClass) 时,字母“Vo”在终端输出中该对象的左大括号之前。
通常,我希望看到大括号前面的类名,但我看到的是Vo {}
。 实际的类名在其名称中的任何位置都没有“V”或“o”,也不会扩展名称中带有“V”或“o”的另一个类。
我试着用谷歌搜索看看“Vo”是什么意思,但由于该搜索的所有误报,找不到任何东西。
由于政策原因,我无法在此处发布实际课程。 我意识到我没有给你太多内容,但是你能想出为什么在控制台记录一个名称中不包含“Vo”的类的实例时“Vo”会放在大括号之前的原因吗? 它与 V8 引擎提供给 node.js 的某种类型的实时视图有关吗?
对于这篇文章,我尝试创建一个重现这种行为的类,但是我创建的每个类都只是在大括号之前记录正确的类名。 这段代码有很多承诺和异步等待的东西,也许这可以改变由 console.log 输出的类名?
我应该很高兴这段代码运行良好,而忘记了console.log()
的特性。 但是,我仍然很好奇,所以如果你知道这个“Vo”是什么意思,请告诉我。
日志对象获得console.log
ged 时出现在记录对象之前的字母将是类的名称,因为它在运行的代码中表示。 听起来运行的代码与您的源代码不同 - 也许它以某种方式被缩小,导致运行代码具有class Vo {
或类似的东西,即使源代码使用class MyClass {
。
如果代码在没有缩小或其他转换的情况下运行,当对象被记录时,您将看到MyClass {
而不是Vo {
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.