|
|
1
2344
胁迫
所以
现实世界中的“测试IE版本”示例:
如果你知道的话
但如果你
|
|
2
785
这是一种非常晦涩的类型转换方法。
所以你要把一个值转换成一个布尔值,然后反转它,然后再反转它。
|
|
3
410
|
|
|
4
140
沏茶:
理论上:
我们希望在比较中确定的是“真相”
关于
引用的值,而不是
价值
引用本身。在一个用例中,我们可能想知道一个值的真实性,即使我们期望这个值是
在实践中:
考虑一个简洁的函数,它通过
dynamic typing
(又称“鸭子打字”)。我们要编写一个返回
以下是三种方法:
每个函数都接受
但是等等,还有更多! 有些人可能注意到,在这个特定的示例中,可以使用 more performant 检查问题对象是否存在的方法 有 财产。有两种方法可以做到这一点:
我们离题了…
无论这些情况多么罕见,可能存在一些场景,其中最简洁、最有效,因此是获得
|
|
|
5
91
|
|
|
6
63
除了这些黑客,您还可以使用与基元类型对应的构造函数函数(
没有
使用
|
|
7
57
有那么多答案做了一半的工作。对,
你得到什么
简单铸造:(那是…
上面没有那么有用。
看“=”和“!”=从 JSLint's directions (注:Crockford正在移动他的站点一点;这个链接在某个点上可能会死掉)关于为什么:
注意有一些
unintuitive cases
其中布尔值将转换为数字(
而且事情会变得更加疯狂,这取决于你的引擎。例如,Wscript赢得了奖品。
因为
some historical Windows jive
,将在消息框中输出-1!在cmd.exe提示下尝试,然后查看!但是
比较真实性:)但是,如果我有两个值,我需要检查是否具有相等的真实性/虚假性呢?
假装我们拥有
所以,唯一真正需要使用“布尔值转换变量”的地方是,如果你有一种情况,你要检查两个变量是否都有
相同的
真实,对吗?也就是说,
使用
我不能马上想到一个伟大的,非人为的用例。也许您在表单中有“链接”字段?
所以现在如果你对两者都有一个真理
或
对于配偶的名字和年龄,你可以继续。否则,您只有一个字段具有值(或非常早安排的婚姻),需要在您的
编辑:2017年10月24日,2月19日: 需要显式布尔值的第三方库
这是一个有趣的案例…
例如,
False in JSX (React) has a special meaning
这不是简单的伪造所引发的。如果您试图在JSX中返回如下内容,则在
…看到react呈现
typescript中的处理方法相同:如果您有一个返回布尔值的函数(或者您正在为布尔变量赋值),则[通常]不能返回/赋值布尔-Y值;它必须是强类型布尔值。这意味着,
敌我识别
记住 这些 是JSX&typescript约定吗? 不是Javascript固有的 .
但如果你觉得奇怪
|
|
|
8
50
这只是逻辑非运算符,两次-它用于将某些内容转换为布尔值,例如:
|
|
|
9
30
它将后缀转换为布尔值。 |
|
|
10
24
这是双重的
|
|
|
11
22
它模拟
|
|
12
21
似乎
|
|
|
13
18
!是“boolean not”,它本质上把“enable”的值类型转换为它的布尔值。第二!翻转此值。所以,
|
|
|
14
17
我认为值得一提的是,与逻辑和/或组合在一起的条件不会返回布尔值,但在&&和 条件链的第一次成功或最后一次失败。
为了将条件强制转换为真正的布尔文字,我们可以使用双重否定:
|
|
|
15
14
这个
例如:
|
|
|
16
11
不是一个接线员,是两个。它等价于以下内容,是将值强制转换为布尔值的快速方法。
|
|
|
17
8
我怀疑这是一个C++的残留物,人们在上面覆盖它!但不是布尔运算符。 因此,要得到否定(或肯定)的答案,在这种情况下,您首先需要使用!运算符得到一个布尔值,但如果要检查正的情况,将使用!! |
|
|
18
8
这个
双重否定算子
另一个用途,我在
answer about C's corresponding
这个
第三种用法是生成逻辑XOR和逻辑XNOR。在C和JavaScript中,
|
|
19
8
首先,你所在的地方:
然后你这样做
但我们不希望该值的布尔值反转,所以我们可以再次反转该值以获得结果!所以我们用另一个
|
|
|
20
7
|
|
|
21
7
|
|
|
22
7
|
|
|
23
5
|
|
|
24
4
|
|
25
3
用于类型转换。
一元的
这一事实导致了您可以在源代码中看到以下习惯用法:
|
|
|
26
3
我只是想补充一下
是一样的
但这可能是一个未定义的问题。
这里的诀窍是
上面的返回未定义,但是如果您有空字符串、false、null、0、undefined,那么这些值将返回,并且一旦在链中遇到它们--
|
|
27
3
返回变量的布尔值。
相反,
(请阅读代码说明)
即,
请检查下面的代码段 艾斯
|
|
|
28
2
为了
|
|
|
29
2
两次使用逻辑非运算符
|
|
|
30
2
在看到所有这些伟大的答案之后,我想添加另一个使用的原因
|
|
|
minus one · 空条件和空合并运算符*与*纯布尔表示法 8 年前 |
|
|
zaozaoer · >>java中带负字节值的and>>>运算符 8 年前 |
|
|
Ganesh Thampi · 使用位的奇偶程序 8 年前 |
|
|
FredMan · Rust中的<-符号是什么? 8 年前 |
|
|
user9578589 · Java条件数组 8 年前 |
|
|
Francisco José Letterio · 无法理解指针操作 8 年前 |
|
|
Danny · 如何在r中键入grep中的运算符 8 年前 |
|
|
David Rector · 什么是?=操作员在Swift中做什么? 8 年前 |
|
|
Gian · “/”操作符在Lua中提供什么功能? 8 年前 |