回答:
bool = !bool;
これはほとんどの言語に当てはまります。
bool = !bool || true;
デフォルトに拡張することもできると思います。
ブール値が数値(0または1)に変換されることを気にしない場合は、ビットごとのXOR代入演算子を使用できます。そのようです:
bool ^= true; //- toggle value.
これは、たとえば、説明的で長いブール名を使用する場合に特に役立ちます。
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