Операторы сравнения

Операторы сравнения

Операндами операторов сравнения могут быть численные и строковые значения. Строки сравниваются исходя из стандартного лексикографического порядка при использовании Unicode.

Операторы сравнения описаны в таблице.

Оператор

Описание

Примеры, возвращающие true при x=3, y=4

Равно (==)

Если два операнда не одного типа, JavaScript преобразовывает и сравнивает их.

3 == x
"3" == x

Не равно (!=)

Возвращает true, если операнды не равны, сравнивает с преобразованием типов.

x != 4
x != "5"

Строго равно (===)

Возвращает true, если операнды строго равны, без преобразования типов.

3 === x

Строго не равно (!==)

Возвращает true, если операнды не являются строго равными или имеют разные типы.

y !== 3
3 !== '3'

Больше (>)

Возвращает true, если левый операнд больше правого.

y > x

Больше или равно (>=)

Возвращает true, если левый операнд больше правого или равен ему.

y >= x
x >= 3

Меньше (<)

Возвращает true, если левый операнд меньше правого.

x < y

Меньше или равно (<=)

Возвращает true, если левый операнд меньше правого или равен ему.

x <= y
y <= 5

Комментарии

JavaScript допускает как строгое сравнение, так и сравнение с приведением типов. Для строгого сравнения оба операнда должны иметь одинаковый тип.

Особенности сравнений:

  • Две строки строго равны, если имеют одинаковую последовательность символов;
  • Два числа строго равны, если равны в обычном смысле слова. +0 строго равен -0;
  • NaN строго не равно ничему, включая NaN;
  • Два булевых операнда строго равны, если они оба true или false;
  • Два операнда-объекта строго равны, если являются ссылками на один и тот же общий объект;
  • Null и Undefined равны ==, но не строго равны ===.
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.