在javascript中切换布尔值

有没有一个真正简单的方法来在JavaScript中切换布尔值?

到目前为止,我在写一个自定义函数之外最好的就是三元:

bool = bool ? false : true; 
 bool = !bool; 

这在大多数语言中都是如此。

如果您不介意被转换为数字(即0或1)的布尔值,则可以使用按位异或分配运算符 。 像这样:

 bool ^= true; //- toggle value. 

如果您使用长的描述性布尔名称E​​G,这是非常好的:

 var inDynamicEditMode = true; // Value is: true (boolean) inDynamicEditMode ^= true; // Value is: 0 (number) inDynamicEditMode ^= true; // Value is: 1 (number) inDynamicEditMode ^= true; // Value is: 0 (number) 

这比扫描每行中的variables要容易。

此方法适用于所有(主要)浏览器(以及大多数编程语言)。

 bool = bool != true; 

其中一例。

 bool === tool ? bool : tool 

如果你想要的值保持真如果tool (另一个布尔)具有相同的值