您何时以及为什么使用!!用javascript?
我遇到一个javascript程序,它正在使用您何时以及为什么使用!!用javascript?,javascript,compare,comparison,comparison-operators,Javascript,Compare,Comparison,Comparison Operators,我遇到一个javascript程序,它正在使用用于比较的运算符。我知道表示不相等。所以逻辑上表示不等于,即等于 if (!!var_1){ //... } 我的问题是为什么人们有时会使用和非==运算符 我读过类似的问题,但不知道我们什么时候使用它。不是运算符,它只是操作员两次 !oObject //Inverted boolean !!oObject //Non inverted boolean so true boolean representation 一些输出示例: alert
代码>用于比较的运算符。我知道
表示不相等
。所以逻辑上
表示不等于
,即等于
if (!!var_1){
//...
}
我的问题是为什么人们有时会使用代码>和非==
运算符
我读过类似的问题,但不知道我们什么时候使用它。
不是运算符,它只是代码>操作员两次
!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
你看,一个“!”只是从假变为真,或者反过来。使用两个或两个以上的“!”时,该过程只是重复并再次更改其值。
不是运算符,它只是代码>操作员两次
!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
你看,一个“!”只是从假变为真,或者反过来。使用两个或两个以上的“!”时,该过程只是重复并再次更改其值。逻辑上如此!!不等于的意思
。。。不,它的意思是不。。。基本上强制truthy值为true
,强制false值为false
!!将值转换为其布尔表示形式第一个代码>反转变量1(假为真;反之亦然)。第二个使用代码>反转!变量1
(假为真;反之亦然)。因此,如果var_1
为true
,您将得到true
。如果false
,则得到false
。这是一个额外的数据验证检查(我使用PHP),它与(var_1==true)
相同,只是字符更少。逻辑上如此!!不等于的意思
。。。不,它的意思是不。。。基本上强制truthy值为true
,强制false值为false
!!将值转换为其布尔表示形式第一个代码>反转变量1(假为真;反之亦然)。第二个使用代码>反转!变量1
(假为真;反之亦然)。因此,如果var_1
为true
,您将得到true
。如果false
,则得到false
。这是一个额外的数据验证检查(我使用PHP)它与(var_1==true)
一样,只需要更少的字符。我想你可以添加很多人只是用作Boolean()的快捷方式,但是它在空数组中的行为有一些不同。我想你可以添加很多人只是用作Boolean()的快捷方式,但是,它在处理空数组时的行为方式存在一些差异