在编程语言中比较“!= true”和“== false”是否有任何技术/逻辑差异,如果存在,应该在什么场合选择哪种比较?“!= true”和“== false”之间的区别?
回答
从逻辑上讲,根据您正在比较的值的类型和您使用的语言,可能会有差异。例如:
x == false
意味着x != true
,但x != true
并不总是意味着x == false
因为X也可以是一些废话值。
1 + 1 = 3
是== false
和!= true
。因为它是废话,所以它既不是== false
也不是!= true
。
x = null
是!= true
但不是== false
。
我认为你的'7>猫'的例子很奇怪。它看起来和表达式'cat == false'或'cat!= true'一样奇怪,它们都不会以我知道的任何语言编译或执行。讨论不是有效程序的东西的语义对我来说似乎很陌生。 – aioobe
@aioobe我会同意的大部分,但我可以看到这发生在弱类型的语言。这就是为什么我在我的回答中指定“取决于您比较的价值类型”。 –
另一个例子可能是一个语言(或形式结构),其中布尔类型允许空值。在这种情况下,null可能既不是真也不是假,因此!true可能不是假。 – MattClarke
- 1. AutoPostBack = True和AutoPostBack = False之间的区别?
- 2. “!= true”和“= false”之间的区别
- 3. System.Timers.Timer Enabled = true和.Start()之间的区别Enabled = true和.Start()之间的区别
- 4. GC.GetTotalMemory(false)和GC.GetTotalMemory(true)之间的区别是什么
- 5. PredicateBuilder <True>和PredicateBuilder <False>之间的区别?
- 6. control.hide/show和control.visible之间是否有区别:= false/true?
- 7. YES/TRUE之间的区别?
- 8. request.getSession()。getId()和request.getSession(false)之间的区别?
- 9. objective-c中的YES/NO,TRUE/FALSE和true/false是否有区别?
- 10. 在php中,if(true)/ else(false)和if(!true)之间有什么区别?
- 11. 回复短信息:“compose_mode”= true与false之间有什么区别?
- 12. SOLR Indexed = true和stored = true之间的区别
- 13. 保存(false)和保存(:validate => false)之间的区别
- 14. 同步请求和异步请求之间有什么区别? (async = true/false)
- 15. 'false === $ var'和'$ var === false'之间有什么区别?
- 16. @ManyToOne(可选= false)与@Column(nullable = false)之间的区别
- 17. SomeValue之间的区别{get;} = true; vs SomeValue => true;在属性
- 18. 之间的〜/和的区别../
- 19. <compilation debug =“true”>和.csproj文件设置之间的区别?
- 20. jquery:stop(true)和clearQueue()之间的区别是什么
- 21. $ _和[参数(ValueFromPipeline = $ true)之间的奇怪区别]
- 22. while(true)和for(;;)之间的实际区别是什么?
- 23. 杰克逊注解:JsonIgnoreProperties(ignoreUnknown = true)和JsonInclude(Include.NON_EMPTY)之间的区别
- 24. [DataContractAttribute(IsReference = true)]和[DataContract]之间的区别是什么?
- 25. '#','%'和'$'之间的区别
- 26. {!!之间的区别!!}和{{}}
- 27. '+ ='和'= +'之间的区别?
- 28. “。+”和“。+?”之间的区别
- 29. .eq之间的区别。和==
- 30. #。/和#之间的区别。 ./
同样的事情。通常'exp == false'最好用'!exp'表示。 – aioobe