我了解双不运算符在 JavaScript 中的作用。我很好奇它的用途以及我最近所做的断言是否正确。
我说这if (!!someVar)
从来没有意义,也不是(!!someVar && ...
因为 theif
和 the&&
都会导致 someVar 被评估为布尔值,所以 !! 是多余的。
事实上,我能想到的唯一一次使用 double not 运算符是合法的,如果你想对另一个布尔值进行严格的比较(所以可能在明确期望 true 或 false 的返回值中)。
这个对吗?当我注意到 jQuery 1.3.2 同时使用if (!!someVar)
和return !!someVar && ...
在这些情况下,double 没有任何实际影响吗?
我个人的观点是,它只会导致混乱。如果我看到一个 if 语句,我知道它正在将它评估为一个布尔值。