我理解!!
将任何内容转换为布尔值,但为什么要这样做:
if (!!someObject) { ... }
当你可以做的时候:
if (someObject) { ... }
编辑:
只是为了澄清,我只是问你为什么要像第一个例子那样编写代码,而不是第二个例子中的代码。有任何实际差异吗?
答案 0 :(得分:1)
它们之间没有显着差异。因此,最有可能的是,这是个人偏好或明确意图。
尽管如此,这可能源于对如何或何时将价值视为布尔值的不确定性/误解。
但是,if
statements和Logical NOT operators都使用内部ToBoolean()
:
运算符只需在ToBoolean()
语句自己使用的基础上添加2轮if
并加上否定。但是,结果是一样的。