Операторы сравнения
Оператор == === != !== > >= < <= | Название Равно Идентично Не равно Не идентично Больше, чем Больше или равно (не меньше) Меньше, чем Меньше или равно (не больше) | Пример X = =Y X ===Y X!=Y X!==Y X > Y X >= Y X < Y Х<= Y |
Операторы равенства и неравенства - это операторы, сравнивающие два значения и возвращающие логическое значение (true или false) в зависимости от результата сравнения. Чаще всего они применяются в инструкциях if и циклах for для управления ходом исполнения программы.
Операторы == (равенство) и идентичность (===) проверяют две величины на совпадение, руководствуясь двумя разными определениями совпадения. Оба оператора принимают операнды любого типа и возвращают true, если их операнды совпадают, и false, если они различны.
Оператор ===, известный как оператор идентичности, проверяет два операнда на «идентичность», руководствуясь строгим определением совпадения.
Оператор == известен как оператор равенства, он проверяет, равны ли два его операнда в соответствии с менее строгим определением совпадения, допускающим преобразования типов. Оператор идентичности стандартизован в ECMAScript v3 и реализован в JavaScript 1.3 и более поздних версиях. С введением оператора идентичности язык JavaScript стал поддерживать операторы =, == и ===.
Во избежание путаницы лучше читать оператор = как «получается», или «присваивается», оператор == читать как «равно», а словом «идентично» обозначать оператор ===.
В JavaScript числовые, строковые и логические значения сравниваются по значению. В этом случае рассматриваются две различные величины, а операторы == и === проверяют, идентичны ли эти два значения. Это значит, что две переменные равны или идентичны, только если они содержат одинаковое значение. Например, две строки равны, только если обе содержат в точности одинаковые символы.
В то же время объекты, массивы и функции сравниваются по ссылке. Это значит, что две переменные равны, только если они ссылаются на один и тот же объект.
Два различных массива никогда не могут быть равными или идентичными, даже если они содержат равные или идентичные элементы.
Две переменные, содержащие ссылки на объекты, массивы или функции, равны, только если ссылаются на один и тот же объект, массив или функцию.
Рассмотрим, например, сравнение: "1" == true
Результат этого выражения равен true, т. е. эти по-разному выглядящие значения фактически равны. Логическое значение true преобразуется в число 1, и сравнение выполняется снова. Затем строка "1" преобразуется в число 1. Поскольку оба числа теперь совпадают, оператор сравнения возвращает true.
Неравенство (!=) и неидентичность (!==)
Операторы != и !== выполняют проверки, в точности противоположные операторам == и ===. Оператор != возвращает false, если два значения равны друг другу, и true в противном случае.
Оператор неидентичности !== возвращает false, если два значения идентичны друг другу, и true – в противном случае. Этот оператор стандартизован в ECMAScript v3 и реализован в JavaScript 1.3 и более поздних версиях.
Оператор ! осуществляет операцию логического НЕ. Благодаря этому легче запомнить, что != обозначает «не равно», а !== – «не идентично».
Дата добавления: 2015-08-01; просмотров: 586;