Операторы сравнения
Результатом является логическое значение, представляющее результат сравнения.
expression1 comparisonoperator expression2
Аргументы
expression1
Любое выражение.comparisonoperator
Любой оператор сравнения (<, >, <=, >=, ==, !=, ===, !==)expression2
Любое выражение.
Заметки
При сравнении строк в JScript используется значение символа Юникода строкового выражения.
Ниже описано поведение различных групп операторов в зависимости от типов и значений выражений expression1 и expression2.
Относительные (<, >, <=, >=)
Попытка преобразовать expression1 и expression2 в числа.
Если оба выражения являются строками, происходит лексическое сравнение строк.
Если любое из выражений имеет тип NaN, возвращается значение false.
Отрицательный нуль равен положительному нулю.
Отрицательная бесконечность меньше любых значений, включая себя саму.
Положительная бесконечность больше любых значений, включая себя саму.
Равенство (==, !=)
Если типы двух выражений различаются, попытка преобразовать их в строки, числа или логические значения.
Значения типа NaN не равны никаким значениям, включая самих себя.
Отрицательный нуль равен положительному нулю.
Значение типа null равно значениям null и undefined.
Значения считаются равными, если это одинаковые строки, эквивалентные числа, одинаковые объекты, одинаковые логические значения или значения (если они различных типов), которые могут быть приведены к одному из перечисленных здесь случаев.
Все прочие сравнения считаются неравными.
Тождество (===, !==)
Эти операторы работают точно так же, как операторы сравнения, но без преобразования типов: для равенства типы должны быть одинаковыми.