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

时间:2011-02-11 21:24:32

标签: actionscript-3

平等之间有什么区别:

==

和严格的平等?

===

4 个答案:

答案 0 :(得分:9)

===类似==,但数据类型未转换。因此,当且仅当表达式的类型相等时,结果才是真实的。

例如:

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 :(得分:3)

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

答案 2 :(得分:2)

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

以下是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

答案 3 :(得分:2)

ActionScript operators

Equality

  

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

Strict Equality

  

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