Javascript 用于反转布尔值的速记赋值运算符
基本算术运算符有速记运算符,例如:Javascript 用于反转布尔值的速记赋值运算符,javascript,assignment-operator,shorthand,Javascript,Assignment Operator,Shorthand,基本算术运算符有速记运算符,例如: x = x+2; x += 2; 或 然而,我想知道是否有这样的运算符可以简单地反转布尔值 例如,假设z=true,是否有更短的等价物: z = !z; 我知道这不可能只是!z,因为这样它只会返回与z相反的值,但不会更改其值 我知道我有点懒,但我在代码中经常使用它,并尽可能地优化它。我会尽量避免重复变量名,以保持它更干净、更优雅 另外,我正在用JavaScript编写代码。就我个人而言,我会用你的方式否定这件事。但是,如果这对您来说真的很重要,并且您可以放
x = x+2;
x += 2;
或
然而,我想知道是否有这样的运算符可以简单地反转布尔值
例如,假设z=true
,是否有更短的等价物:
z = !z;
我知道这不可能只是!z
,因为这样它只会返回与z相反的值,但不会更改其值
我知道我有点懒,但我在代码中经常使用它,并尽可能地优化它。我会尽量避免重复变量名,以保持它更干净、更优雅
另外,我正在用JavaScript编写代码。就我个人而言,我会用你的方式否定这件事。但是,如果这对您来说真的很重要,并且您可以放弃
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
就我个人而言,我会像你那样否定这件事。但是,如果这对您来说真的很重要,并且您可以放弃
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
z=!z
是与y*=2
相同的字符数。你希望短多少?来吧,伙计。。。2个额外的角色是不是太麻烦了?如果键盘快捷键太多,请创建快捷键work@charlietfl更长的变量名=P。。。但我只是想知道是否有任何捷径。我喜欢简洁。那么在mdn文档中查找“javascript运算符”并亲自查看有多难我个人最喜欢的布尔值反转方法是z=!!!!!!!!!!!!!!!!!z代码>z=!z
是与y*=2
相同的字符数。你希望短多少?来吧,伙计。。。2个额外的角色是不是太麻烦了?如果键盘快捷键太多,请创建快捷键work@charlietfl更长的变量名=P。。。但我只是想知道是否有任何捷径。我喜欢简洁。那么在mdn文档中查找“javascript运算符”并亲自查看有多难我个人最喜欢的布尔值反转方法是z=!!!!!!!!!!!!!!!!!z代码>有趣的解决方案。我没有想到bitewise运算符。有趣的解决方案。我没有想到bitewise操作符。