Операции Сравнения
Операция сравнения сравнивает свои операнды и возвращает логическое значение, базируясь на верности /true сравнения.
Реализована в | JavaScript 1.0
JavaScript 1.3: добавлены операции === и !== JavaScript 1.4: == не рекомендуется для сравнения двух объектов JSObject. Используйте метод . | ||
Версия ECMA | ECMA-262 содержит все операции сравнения, кроме === и !== Версия ECMA-262 Edition 3 добавляет === и !== |
Операнды могут иметь числовое или строковое значение. Строки сравниваются на базе стандартного лексикографического упорядочивания с использованием значений Unicode.
Boolean-значение возвращается как результат сравнения:
В следующей таблице даны операции сравнения.
Равно (==) | Возвращает true, если операнды равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды к одному типу для сравнения. | 3 == var1 "3" == var1 3 == '3' | ||
Не равно (!=) | Возвращает true, если операнды не равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды к одному типу для сравнения. | var1 != 4 var1 != "3" | ||
Строго равно (===) | Возвращает true, если операнды равны и одного типа. | 3 === var1 | ||
Строго не равно (!==) | Возвращает true, если операнды не равны и/или разных типов. | var1 !== "3" 3 !== '3' | ||
Больше чем (>) | Возвращает true, если левый операнд больше, чем правый операнд. | var2 > var1 | ||
Больше или равно (>=) | Возвращает true, если левый операнд больше чем или равен правому операнду. | var2 >= var1 var1 >= 3 | ||
Меньше чем (<) | Возвращает true, если левый операнд меньше, чем правый операнд. | var1 < var2 | ||
Меньше чем или равно (<=) | Возвращает true, если левый операнд меньше чем или равен правому операнду. | var1 <= var2 var2 <= 5 |
В этих примерах предполагается, что переменной var1
присваивается значение 3, а переменной var2 присваивается значение 4. |
Использование Операций Равенства
Стандартные операции сравнения (== и !=) сравнивают два операнда, независимо от их типа.
Операции строгого равенства (=== и !==) выполняют сравнение равенства операндов одного типа. Используйте операции строгого равенства, если операнды обязаны быть специфического типа и значения или если важен точный тип операндов. Иначе, используйте стандартные операции равенства, которые позволяют проверить идентичность двух операндов, даже если они имеют разные типы.
Если нужна конверсия типа, JavaScript конвертирует операнды типов String, Number, Boolean
или Object таким образом:
- При сравнении числа и строки, строка конвертируется в числовое значение. JavaScript пытается конвертировать строковой числовой литерал в значение типа Number. Сначала математическое значение получается из строкового числового литерала. Затем это значение округляется до ближайшего значения типа Number.
Операции пытаются конвертировать объект в примитивное значение, String
или Number, используя методы valueOf и toString объекта. Если эта попытка конвертации не удаётся, генерируется ошибка времени выполнения.
Вы не можете использовать стандартную операцию равенства (==) для сравнения экземпляров JSObject. Для таких сравнений используйте метод .
Поведение стандартных операций равенства (== и !=) зависит от версии JavaScript.
JavaScript 1.3 и более ранние.
Можно использовать стандартную операцию равенства (==) или для сравнения экземпляров JSObject.
JavaScript 1.2.
Стандартные операции равенства (== и !=) не выполняют конверсию типов перед выполнением сравнения. Операции строгого равенства (=== и !==) недоступны.
JavaScript 1.1 и более ранние.
Стандартные операции равенства (== и !=) выполняют конверсию типов до выполнения сравнения.
Операции строгого равенства (=== и !==) недоступны.