Операции сравнения сравнивают два операнда и возвращают логическое значение, означающее результат этого сравнения. Строки сравниваются в лексикографическом порядке в кодировке Unicode. Если типы операндов различны, то делается попытка преобразовать их к одному типу. При этом:
- Операции "больше", "меньше", "не больше" и "не меньше" сначала пытаются преобразовать операнды в числа, а, если это невозможно, то в строки, а затем производят их сравнение.
- Операции "равно" и "не равно" пытаются преобразовать операнды в строки, затем в числа и в логические значения, а затем производят их сравнение.
- Операции "тождественно" и "не тождественно" не преобразовывают типы данных: два операнда считаются тождественно равными, если они имеют одинаковые типы и одинаковые значения.
Операция |
Название |
Описание |
a < b |
Меньше |
Возвращает true, если левый операнд меньше, чем правый операнд. |
a > b |
Больше |
Возвращает true, если левый операнд больше, чем правый операнд. |
a <= b |
Не больше |
Возвращает true, если левый операнд меньше или равен правому операнду. |
a => b |
Не меньше |
Возвращает true, если левый операнд больше или равен правому операнду. |
a == b |
Равно |
Возвращает true, если левый операнд равен правому операнду. |
a != b |
Не равно |
Возвращает true, если левый операнд не равен правому операнду. |
a === b |
Тождественно |
Возвращает true, если левый операнд тождественно равен правому операнду. |
a !== b |
Не тождественно |
Возвращает true, если левый операнд тождественно не равен правому операнду. |
Примеры:
var x = "3";
a = x == 3; // a равно true
b = x === 3; // b равно false (разные типы)