Как правило, == смотрит только на равенство значений.Так, например ...
5 == 5.0 //true
Однако, === также учитывает тип значения и (на языках, с которыми я знаком).
var five = 5;
var five_float = (float)5.0;
five === 5; //true - both int, both equal to 5
five_float === 5; //false - both equal 5 but one is an int and one is a float
FYI, оператор = (обычно называемый оператором присваивания) используется для установки значения параметра левой стороны на правой стороне.Это довольно очевидно.Однако в большинстве языков это также будет возвращать true, если назначение выполнено успешно.Вы хотите избегать использования = там, где вы хотите использовать == (или ===), потому что это будет выглядеть как сравнение, но это не так - и он вернет true неожиданно.
Например, допустим, выхочу проверить, равно ли число 10 ...
myNumber = 7;
if(myNumber = 10)
{
//will always be true and execute this code because myNumber will successfully
//be assigned the value of 10 instead of checking to see if the number is 10.
//oops!
}
Последнее замечание - это верно для PHP и JavaScript.Я не думаю, что есть оператор === в C ++ или Java, и == также имеет немного другое значение.