Операция сравнения сравнивает операнды и возвращает логическое значение на основе того, является ли сравнение true.
Реализованы в
JavaScript 1.0
JavaScript 1.3: добавлены операции === и !==
Версия ECMA
ECMA-262 содержит все операции сравнения, за исключением === и !==
Операнды могут быть числами или строками. Строки сравниваются на основе стандартного лексикографического (словарного) порядка с использованием Unicode-значений.
Булево значение возвращается как результат сравнения.
Две строки равны, если они имеют одинаковые последовательности символов, одинаковые размеры и одинаковые символы в соответствующих позициях.
Два числа равны, если они равны численно (имеют одинаковые числовые значения). NaN не равно ничему, включая само NaN. Положительные и отрицательные нули равны.
Два объекта равны, если они ссылаются на один Object.
Два Булевых операнда равны, если они оба true или оба false.
Типы Null и Undefined равны.
В таблице дано резюме по операциям сравнения.
Таблица 5.3 Операции Сравнения
Операция
Описание
Примеры, возвращающие true1
Равно (==)
Возвращает 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
1 В этих примерах принимается, что var1 имеет значение 3, а var2 имеет значение 4.