如何切换布尔值?

JavaScript

DavaidTony宝儿

2020-04-03

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

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

bool = bool ? false : true;

第3961篇《如何切换布尔值?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

6个回答
Itachi 2020.04.03

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

这里是:

booly = !(booly != false)
斯丁前端 2020.04.03

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

var b = true;

console.log(b); // true

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

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

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

卡卡西Near 2020.04.03
bool = bool != true;

其中一种情况。

小胖Gil 2020.04.03
bool === tool ? bool : tool

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

Itachi 2020.04.03

如果您不介意将布尔值转换为数字(即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 2020.04.03
bool = !bool;

在大多数语言中都适用。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android