如何在Javascript中获取变量相反的布尔值

32
var a = true;

如何获取 a 的相反值 (false),反之亦然?

7个回答

70
>>> a = true;
true
>>> !a;
false

1
这对于 a = false 也适用。一开始我不确定。 - xinthose

55
使用逻辑非运算符:

使用逻辑非运算符:

!a

4
很抱歉,如果这个回答让帖子重新浮现,但是这个答案和它的评论太好了不能不表扬。 - Deryck
1
@zetlen 我笑得很开心 - SeniorShizzle
2
我点赞了,因为你是对的,并且你坚持了自己的验证! - watzon

14

这将会更容易。

var b = !a

这将使真变为假,假变为真。


4

也许是这样的:

function toggleFlag(value){
   var toggle = value ? false : true;
   return toggle;
}

var a = true;

a = toggleFlag(a);

8
这对于这么简单的事情来说太过复杂了。 - Justin Niessner
2
@JustinNiessner:考虑到这个问题有多基础,我倾向于点赞提供的最复杂答案。但这只是我的想法。 - I Hate Lazy
不知道,Justin... 这个原则很容易遵循,而且可扩展,不是吗? - Charlie
3
我喜欢这个答案。!是混淆和难以阅读的;这段代码更好,更易于维护。 - zetlen
3
这是我的看法,但说实话,!a更加简洁优雅。 - Charlie

4
尝试以下步骤:
var a = !a;

3

使用 "not" 运算符

var a = true;
alert(!a); //=>false

-5

尝试像下面这样

var Boolify = require('node-boolify').Boolify;
var opp_var = !Boolify(myVar);

请参考node-boolify


2
哎呀…… - Denzel Hooke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接