如何切换布尔值?

新手上路,请多包涵

有没有一种非常简单的方法可以在 javascript 中切换布尔值?

到目前为止,除了编写自定义函数之外,我最好的方法是三元:

bool = bool ? false : true;

原文由 Chris Dutrow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答
bool = !bool;

这适用于大多数语言。

原文由 Jordan 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

 bool ^= true;   //- toggle value.

如果您使用长的、描述性的布尔名称,这尤其有用,例如:

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

这比在每一行中重复变量更容易扫描。

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

原文由 Brock Adams 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题