一尘不染

为什么要使用if(!! err)?

node.js

在以下来自sequlize docs的代码示例中:

if (!!err) {
    console.log('Unable to connect to the database:', err)
} else {
    console.log('Connection has been established successfully.')
}

他们为什么要使用它(!!err)来检验err的真实性?那不一样if (err)吗?


阅读 200

收藏
2020-07-07

共1个答案

一尘不染

他们为什么要使用它(!!err)来检验err的真实性?

没有理由
也许他们过谨慎,听过有关节制的一些错误信息?或者,他们要强调ToBoolean发生在评价if条件?

那不一样if (err)吗?

是。

if (err)
if (Boolean(err))
if (!! err)

都是完全一样的东西。后两个只是在达到相同结果之前,在它们之间做不必要的步骤。

2020-07-07