我为什么要用!!在JavaScript?

时间:2014-03-31 15:44:24

标签: javascript

在阅读lodash源代码时,我看到了:

this.__chain__ = !!chainAll;

为什么会在!!参数上使用chainAll

我认为这是检测虚假值或处理不同JavaScript版本的更安全的方法,但是想知道它保护的场景。

2 个答案:

答案 0 :(得分:4)

!!构造是将任何JavaScript表达式转换为的简单方法 它的Boolean等价物。例如:!!"something" === true,而!!0 === false

DEMO

答案 1 :(得分:0)

JS使用动态类型作为变量。感谢这个技巧,如果它不是布尔值,你将变量转换为布尔值,如果它是布尔值,它不会修改该值