有没有一种真正简单的方法来切换javascript中的布尔值?
到目前为止,在编写自定义函数之外,我得到的最好的结果是三元:
bool = bool ? false : true;
有没有一种真正简单的方法来切换javascript中的布尔值?
到目前为止,在编写自定义函数之外,我得到的最好的结果是三元:
bool = bool ? false : true;
让我们来看一下实际情况:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
无论如何,没有比您现在拥有的方法更短的方法了。
bool = bool != true;
其中一种情况。
bool === tool ? bool : tool
如果您希望值在tool
另一个布尔值相同的情况下保持true
如果您不介意将布尔值转换为数字(即0或1),则可以使用按位XOR赋值运算符。像这样:
bool ^= true; //- toggle value.
如果使用长的描述性布尔名称EG,则特别好:
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)
对于我来说,这比在每一行中重复变量要容易得多。
该方法适用于所有(主要)浏览器(和大多数编程语言)。
bool = !bool;
在大多数语言中都适用。
我正在寻找一种执行相同操作的切换方法,但初始值
null
或undefined
应该变为false
。这里是: