什么是“===”运算符?

时间:2010-03-19 09:11:44

标签: operators

我曾经遇到过运营商“===”。但我不记得它是什么......或者我们在哪里使用它......或者是否有这样的操作员?在哪里使用??

7 个答案:

答案 0 :(得分:19)

在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

基本上,无论何时使用==,都存在自动类型转换的风险。使用===可确保值在逻辑上相等且对象的类型也相等。

答案 1 :(得分:16)

在JavaScript中,==确实输入了强制,而===,“严格相等”操作符则没有。例如:

"1" == 1; // true
"1" === 1; // false

还有一个相应的严格不等式运算符!==

答案 2 :(得分:8)

它在JavaScript,PHP中使用并且可能更多(我可能还没有遇到过!),它用于比较两个比较的东西是否具有相同的对象类型以及具有相同的值。

答案 3 :(得分:3)

  

“===”运算符用于检查   值是相同的,也是相同的类型。

示例

$a === $b    if $a is equal to $b, and they are of the same type.

答案 4 :(得分:2)

它通常测试两个对象是否相同。即。如果它们具有相同的值,但如果它们确实是同一个对象,则不会。

答案 5 :(得分:1)

===是相等的,至少在PHP中是

Here is a link有助于解释这个问题

答案 6 :(得分:0)

在Ruby中,三等于是case/when构造使用的运算符(隐式地)来确定对象“何时落入”特定情况。例如,Ruby有一个“Range”对象的概念; 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

按预期工作。