繁体   English   中英

“ if(err)”在JavaScript中到底能进行哪些测试?

[英]What does 'if (err)' tests precisely in Javascript?

许多回调函数通过检查err参数开始,如下所示:

function myCallback(err, result) {

    if ( err ) {

        // Handle error
        ...

    }

    ...

}

if (err)测试验证什么? 是否检查对象是否为null 是否检查它是否undefined 不应该为instanceof Error测试吗? 该测试何时返回true

在Node.js世界中,回调函数具有以下签名

function(error, result){}

如果没有错误,则通常将error参数设置为null ,否则将相应的错误对象设置为null

因此,检查if (err)是否检查我们是否确实存在错误情况。 如果err对象为null ,则检查将失败(因为null为假),否则将执行错误处理代码。

不应该为instanceof Error测试吗?

它不一定是Error对象的实例。 我们甚至可以将对象文字作为错误对象或什至代表错误数组的数组传递。

是否检查对象是否为空? 是否检查它是否未定义?

如果错误对象为nullundefined ,则测试将评估为错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM