基本算术运算符有简写运算符,例如:
x = x+2;
x += 2;
或
y = y*2;
y *= 2;
但是,我想知道是否有任何这样的运算符可以简单地反转布尔值。
例如,假设z = true
,是否有更短的等同于:
z = !z;
我知道它不能只是!z
,因为它只返回z
的相反值,但它不会改变它的值。
我知道我有点懒,但我在代码中使用了很多,并且尽可能地优化它。我会尽量避免重复变量名称,以使其更清晰,更优雅。
另外,我用JavaScript编码。
答案 0 :(得分:2)
就我个人而言,我会以你的方式否定这件事。但是如果它对你真的很重要,并且你可以放弃boolean
类型,只需使用数字内部表示(true == 1,false == 0)和按位运算符来否定它:
z = true; // z is type boolean
z ^= 1; // z is now false, but its type is number
// (z == false) evaluates to true and you can still do things like if (z)...
z ^= 1; // z is now true again