我遇到了一个使用!!
运算符进行比较的javascript程序。我知道!
代表NOT EQUAL
。因此,逻辑!!
表示NOT OF NOT EQUAL
,EQUAL
。
if (!!var_1){
//...
}
我的问题是为什么人们有时会使用!!
而不是==
运算符?
我读过类似的问题,但无法弄清楚我们究竟何时使用它。
答案 0 :(得分:2)
!!
不是运算符,只是!
运算符两次。
!oObject //Inverted boolean
!!oObject //Non inverted boolean so true boolean representation
一些输出示例:
alert(true); // Gives true
alert(!true); // Gives false
alert(!!true); // Gives true
alert(!!!true); // Gives false
alert(false); // Gives false
alert(!false); // Gives true
alert(!!false); // Gives false
alert(!!!false); // Gives true
你看,一个“!”只是变化是从假到真或反过来。使用两个或多个“!”,过程只是重复并再次更改其值。