在编程语言中比较“!= 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. System.Timers.Timer Enabled = true和.Start()之间的区别Enabled = true和.Start()之间的区别
- 2. GC.GetTotalMemory(false)和GC.GetTotalMemory(true)之间的区别是什么
- 3. control.hide/show和control.visible之间是否有区别:= false/true?
- 4. YES/TRUE之间的区别?
- 5. objective-c中的YES/NO,TRUE/FALSE和true/false是否有区别?
- 6. 回复短信息:“compose_mode”= true与false之间有什么区别?
- 7. SOLR Indexed = true和stored = true之间的区别
- 8. 保存(false)和保存(:validate => false)之间的区别
- 9. 同步请求和异步请求之间有什么区别? (async = true/false)
- 10. @ManyToOne(可选= false)与@Column(nullable = false)之间的区别
- 11. jquery:stop(true)和clearQueue()之间的区别是什么
- 12. 杰克逊注解:JsonIgnoreProperties(ignoreUnknown = true)和JsonInclude(Include.NON_EMPTY)之间的区别
- 13. while(true)和for(;;)之间的实际区别是什么?
- 14. <compilation debug =“true”>和.csproj文件设置之间的区别?
- 15. '+ ='和'= +'之间的区别?
- 16. {!!之间的区别!!}和{{}}
- 17. ==和case之间的区别?
- 18. '#','%'和'$'之间的区别
- 19. | =和^ = css之间的区别
- 20. “%〜dp0”和“。\”之间的区别?
- 21. .eq之间的区别。和==
- 22. ==和.equals()之间的区别?
- 23. `%in%`和`==`之间的区别
- 24. php 5 strpos()返回0和false之间的区别?
- 25. python语法中的True和False有什么区别?
- 26. to.equal(true)和to.be.true之间有什么区别?
- 27. keras图层Masking()和Embedding(mask_zero = True)之间是否有区别?
- 28. SPFile和PublishingPage类别之间的区别
- 29. FALSE和TRUE VS NULL和TRUE
- 30. 在swift中,== true和!= false是否有区别?
同样的事情。通常'exp == false'最好用'!exp'表示。 – aioobe