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

eri*_*ric 3 javascript node.js

sequlize docs的代码示例中:

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

他们为什么要(!!err)用来测试那个错误的真实性?是不是一样的if (err)

Ber*_*rgi 11

他们为什么要(!!err)用来测试那个错误的真实性?

没有理由.也许他们过于谨慎,听到一些关于无辜的错误的事情?或者他们想强调评估条件时发生的ToBoolean演员if

是不是一样的if (err)

是.

if (err)
if (Boolean(err))
if (!! err)
Run Code Online (Sandbox Code Playgroud)

所有意味着完全相同的事情.后两者只是在达到相同结果之前在两者之间做了不必要的步骤.