我明白 !!
会将任何东西转换为 bool 值,但你为什么要这样做:
if (!!someObject) { ... }
什么时候可以做:
if (someObject) { ... }
编辑:
澄清一下,我只是问您为什么要编写第一个示例中的代码,而不是第二个示例中的代码。有任何实际差异吗?
最佳答案
它们之间没有显着差异。因此,很可能是个人偏好或明确说明意图。
不过,这可能是由于不确定/误解了值如何或何时被视为 bool 值。
但是,两者都是if
statements和 Logical NOT operators使用内部 ToBoolean()
:
运算符只是在 if
语句自身的使用之上再添加 2 轮带有否定的 ToBoolean()
。但是,结果是一样的。
关于javascript - 在 bool 上下文中使用时,为什么要将对象转换为 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17903697/