Answers:
bool = !bool;
在大多数语言中都适用。
bool = !bool || 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 ^= 1
bool === false
或bool === true
不再。它可能会破坏现有代码,所以要小心。
让我们看一下实际情况:
var b = true;
console.log(b); // true
b = !b;
console.log(b); // false
b = !b;
console.log(b); // true
无论如何,没有比您现在拥有的方法更短的方法了。