在以下来自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)吗?
(!!err)
if (err)
他们为什么要使用它(!!err)来检验err的真实性?
没有理由 也许他们过谨慎,听过有关节制的一些错误信息?或者,他们要强调ToBoolean投发生在评价if条件?
ToBoolean
if
那不一样if (err)吗?
是。
if (err) if (Boolean(err)) if (!! err)
都是完全一样的东西。后两个只是在达到相同结果之前,在它们之间做不必要的步骤。