==和===有什么区别?

==和===有什么区别?

问题描述:

是什么平等之间的区别:==和===有什么区别?

== 

和严格的平等?

=== 
+1

与`===`相等的东西比发现与== ==相等的东西更加平等。 – FrustratedWithFormsDesigner 2011-02-11 21:26:04

===就像==一样,只是数据类型不转换。所以当且仅当表达式它们的类型相等时结果才是真的。

例如:

var string1:String = "5"; 
var num:Number = 5; 

然后string1 == num是真实的,但string1 === num是假的。

因此,===通常被认为是“更严格”。参见:http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000686.html

这是比较严格的。它将检查是否不仅值,而且类型是否匹配。例如,1 == true将返回true,而1 === true将返回false,因为它们具有不同的类型。

==非严格平等检验,而===检验严格平等。严格平等意味着比较表达式的数据类型必须匹配。

下面是从documentation一些例子:

s1 = new String("5"); 
s2 = new String("5"); 
s3 = new String("Hello"); 
n = new Number(5); 
b = new Boolean(true); 

s1 == s2; // true 
s1 == s3; // false 
s1 == n; // true 
s1 == b; // false 

s1 === s2; // true 
s1 === s3; // false 
s1 === n; // false 
s1 === b; // false 

s1 !== s2; // false 
s1 !== s3; // true 
s1 !== n; // true 
s1 !== b; // true 

ActionScript operators

Equality

==测试两个表达式是否相等。

Strict Equality

===测试两个表达式是否相等,但不执行自动数据转换。