Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Node JS中获取对象的类名_Javascript_Node.js - Fatal编程技术网

Javascript 如何在Node JS中获取对象的类名

Javascript 如何在Node JS中获取对象的类名,javascript,node.js,Javascript,Node.js,问题很简单。例如,如果您选择一个缓冲区,您可以: b = new Buffer(0); 然后检查类型: typeof b; 结果是“Object”,但我想知道它是一个缓冲区 如果在节点控制台中执行此操作,则会得到: >b=新缓冲区(1024) >b型 “对象” >b 因此,控制台如何知道b是缓冲区 在您的情况下: b = new Buffer(1024); if (b instanceof Buffer) { ... 更一般地说,请参见。Note:and(在0.11+中)的可能副本。

问题很简单。例如,如果您选择一个缓冲区,您可以:

b = new Buffer(0);
然后检查类型:

typeof b;
结果是“Object”,但我想知道它是一个缓冲区

如果在节点控制台中执行此操作,则会得到:

>b=新缓冲区(1024)
>b型
“对象”
>b

因此,控制台如何知道b是缓冲区

在您的情况下:

b = new Buffer(1024);
if (b instanceof Buffer) {
  ...

更一般地说,请参见。

Note:and(在0.11+中)的可能副本。这是一个很好的答案,但它是Ecmascript 6的一部分,因此不受普遍支持。在@Bart,
var Apple=function(){}
上也失败,
var Apple=function(){}
,是的,但这是@user3242467的一个很好的起点。我认为在某些情况下使用
instanceOf
并不是一个更好的解决方案。@巴特提到,跨浏览器/引擎支持可能不是一个问题(尽管仍然值得一提),V8支持
函数。name
,尽管它目前还不是官方的。另外,在
Apple
中,构造函数本身是匿名的,因此控制台也不会显示名称
console.log(新的Apple())/{}