问题
Are there any technical/logical differences between the comparison "!= true" and "== false" in programming languages, and if there are, which comparison should be chosen on what occasion?
回答1:
Logically there can be differences depending on the type of value that you are comparing and language you are using. For example:
x == false
implies x != true
, but x != true
does not always imply x == false
because x can also be some nonsense value.
1 + 1 = 3
is both == false
and != true
.
7 > cat
is neither == false
and != true
since it is nonsense.
x = null
is != true
but is not == false
.
回答2:
Use accordingly what your code block is expecting.
e.g.
- if your code block is expecting
true
then useif( true == fun() ) { // your code }
. - if your code block is expecting any value except
false
then useif( false != fun() ) { // your code }
.
来源:https://stackoverflow.com/questions/41682691/difference-between-true-and-false