我曾遇到一个运算符“===”。但是我不记得它是什么......或者我们在哪里使用它......或者有没有这样一种运营商?它在哪里使用?什么是“===”运算符?
回答
在PHP中,JavaScript中,ECMAScript的,ActionScript 3.0中,和其他一些类似的,动态语言的,有两种类型的相等性检查的:==(非全等)和===(严格平等)。要显示一个例子:
5 == "5" // yep, these are equal, because "5" becomes 5 when converted to int
5 === "5" // nope, these have a different type
基本上,只要您使用==,你就有可能自动类型转换。使用===可确保值在逻辑上相等,并且对象的类型也相同。
它用在JavaScript和PHP中,可能更多(我可能还没有遇到!),它用于比较两个比较的东西是否具有相同的对象类型以及具有相同的值。
也用于PHP .. – vpram86 2010-03-19 09:13:38
不仅JS。还有很多其他语言。 – 2010-03-19 09:14:01
@Aviator @ Felix感谢您指出,编辑:) – 2010-03-19 09:15:59
如果两个对象相同,它通常测试。即。如果它们具有相同的值,但它们确实是同一个对象,则不是。
在JavaScript中,==
确实类型强制,而===
,“严格等于”操作符没有。例如:
"1" == 1; // true
"1" === 1; // false
还有一个相应的严格不等式运算符!==
。
“===”运算符用于检查 值是否相同以及相同类型。
例
$a === $b if $a is equal to $b, and they are of the same type.
在Ruby中,三等于是运算符(隐含地)由case/when
构造使用来确定对象“落入”特定情况的时间。例如,Ruby有一个“Range”对象的概念; 1..10
表示“1到10之间的所有值,包括1和10。”所以`3 == 1..10'是错误的,因为3是一个数字,1..10是一个范围。但是,
3 === 1..10
返回true,因为3是在那个范围内。
case/when决定参数属于哪种情况时使用此项。所以,
case a
when (1..10)
puts "This is a valid rating"
else
puts "invalid"
end
按预期工作。
- 1. 什么是Java“= +”运算符?
- 2. 什么是()=>运算符?
- 3. C++ - 什么是运算符。*?
- 4. 运算符模块中`in`的等效运算符是什么?
- 5. python中的%运算符是什么?
- 6. 在Python中,“〜〜”运算符是什么?
- 7. =>运算符是做什么的?
- 8. - =运算符是做什么的?
- 9. 什么是HTML中的“:”运算符?
- 10. Ruby中的“=〜”运算符是什么?
- 11. 什么是“运算符int”函数?
- 12. 在elixir中什么是=〜运算符
- 13. 这个运算符是什么“=>”?
- 14. HAML - “!=”运算符是做什么的?
- 15. | =运算符是什么意思?
- 16. 什么是<<运算符?
- 17. 什么是重写的C运算符++
- 18. &运算符是什么意思?
- 19. “+ =”运算符是做什么的?
- 20. 什么是<=用C++运算符
- 21. 模运算符的语义是什么?
- 22. '&='和'=&'运算符是做什么的?
- 23. 什么是NOR逻辑运算符?
- 24. - > *运算符究竟是什么?
- 25. >?=运算符是什么意思?
- 26. *(++ ptr)是什么类型的运算符?
- 27. ,运算符是什么意思?
- 28. 运算符+ =重载,为什么是const?
- 29. 什么是c运算符>>
- 30. “<>”运算符是什么意思?
Javascript和ECMAScript有什么区别吗? – 2010-03-19 09:55:43
@ urtle,是的。 ECMAScript是JavaScript现在基于的语言标准化工作(JavaScript是第一个),并且有许多语言(不仅仅是JavaScript),它们从ECMAScript派生它们的核心语法,然后添加其他元素或结构(例如ActionScript 3.0)。JavaScript和ECMAScript之间的主要区别在于,JavaScript是ECMAScript,因为它在实践中发生了......即,浏览器如何实际实现ECMAScript(例如与标准,扩展等的偏差) – 2010-03-19 22:09:36
您在第二个示例中犯了一个错字,应该是'5 ===“5”'而不是'5 === 5''。 – 2011-02-27 09:22:07