В чем разница между == и ===? - PullRequest
3 голосов
/ 12 февраля 2011

В чем разница между равенством:

==

и строгим равенством?

===

Ответы [ 4 ]

9 голосов
/ 12 февраля 2011

=== похоже на == за исключением того, что типы данных НЕ конвертируются.Таким образом, результат равен true, если и только если выражения и имеют одинаковый тип.

Например:

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

Тогда string1 == num равно true, но string1 === num неверно.

В результате === обычно считается "более строгим".Смотри: http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000686.html

3 голосов
/ 12 февраля 2011

Это более строгое.Он проверит, соответствует ли не только значение, но и тип.Например, 1 == true вернет true, а 1 === true вернет false, потому что они имеют разные типы.

2 голосов
/ 12 февраля 2011

Операторы ActionScript

Равенство :

== Проверяет два выражения на равенство.

Строгое равенство :

=== Проверяет два выражения на равенство, но не выполняет автоматическое преобразование данных.

2 голосов
/ 12 февраля 2011

== тесты на нестрогое равенство, а === тесты на строгое равенство Строгое равенство означает, что тип данных сравниваемых выражений должен совпадать.

Вот несколько примеров из документации :

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...