javascript – 检查JS中的typeof错误

在JS中,似乎无法检查传递给函数的参数是否实际上是“错误”类型或Error的实例。

例如,这是无效的:

typeof err ===’error’

因为只有6种可能的类型(以字符串的形式):

typeof操作符以字符串形式返回类型信息。 typeof返回六个可能的值:“number”,“string”,“boolean”,“object”,“function”和“undefined”。

MSDN

但是如果我有一个简单的用例如下:

function errorHandler(err) {

    if (typeof err === 'error') {
        throw err;
    }
    else {
        console.error('Unexpectedly, no error was passed to error handler. But here is the message:',err);
    }
}

那么确定参数是否是错误的实例的最佳方式是什么?

是运算符的任何帮助的实例吗?

您可以使用instanceof运算符。

var myError = new Error('foo');
myError instanceof Error // true
var myString = "Whatever";
myString instanceof Error // false
http://stackoverflow.com/questions/30469261/checking-for-typeof-error-in-js

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 检查JS中的typeof错误