如何切换布尔值?

Harry · 04月03日

有没有一种真正简单的方法来切换javascript中的布尔值

到目前为止,在编写自定义函数之外,我得到的最好的结果是三元:

bool = bool ? false : true;
回答(6)
时间
I
Itachi
6 · 2020-04-03 11:22:16

我正在寻找一种执行相同操作的切换方法,但初始值nullundefined应该变为false

这里是:

booly = !(booly != false)
l
l
5 · 2020-04-03 11:22:16

让我们来看一下实际情况:

var b = true;

console.log(b); // true

b = !b;
console.log(b); // false

b = !b;
console.log(b); // true

无论如何,没有比您现在拥有的方法更短的方法了。

路易
4 · 2020-04-03 11:22:16
bool = bool != true;

其中一种情况。

小哥
3 · 2020-04-03 11:22:16
bool === tool ? bool : tool

如果您希望值在tool另一个布尔值相同的情况下保持true

I
Itachi
2 · 2020-04-03 11:22:16

如果您不介意将布尔值转换为数字(即0或1),则可以使用按位XOR赋值运算符像这样:

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)

对于我来说,这比在每一行中重复变量要容易得多。

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

樱Near
1 · 2020-04-03 11:22:16
bool = !bool;

在大多数语言中都适用。

你的回答

加载中...
⌘+Return 发表
发表

温馨提示:登录后可发表评论或回复

关闭,朕知道了

扫码关注微信公众号或小程序