【发布时间】:2015-03-30 23:34:37
【问题描述】:
我尝试对错误进行一些简单的类型检查,并得到以下代码:
function isError(x) {
return Error.isPrototypeOf(x)
}
但是,如果我调用带有错误实例的函数,我会得到false,如下所示:
isError(new RangeError) // false
所以我启动了节点(好吧,无论如何,io.js),并做了以下事情:
> Object.getPrototypeOf(Object.getPrototypeOf(new RangeError))
[Error]
最后,如果我使用instanceof 进行检查,它可以正常工作,如下所示:
> (new RangeError) instanceof Error
true
那么,这里到底发生了什么?
【问题讨论】:
标签: javascript