这两个运营商有什么区别? !! !!有特殊的意义,或者它只是意味着你正在做两个人!'操作。我知道有"真相"和" Truthy" Javascript中的概念,但我不确定是否!!用于"真相"
答案 0 :(得分:8)
!!只是双倍!
!true // -> false
!!true // -> true
!!将某事物转换为布尔值
的常用方法!!{} // -> true
!!null // -> false
答案 1 :(得分:7)
编写!!
是将“真实”或“虚假”变量转换为真正的布尔值的常用方法。
例如:
var foo = null;
if (!!foo === true) {
// Code if foo was "truthy"
}
将第一个!
应用于foo
后,返回的值为true
。再次注意该值会使其false
,这意味着未输入if
块中的代码。