Просмотр сравнений Javascript

Привет всем,

Здесь я буду делать заметки о конкретных операторах сравнения в Javascript. Это поможет мне запомнить специфику, а также может быть полезно для вас в качестве справочника! Я также попытаюсь транслитерировать то, что говорится в коде, чтобы его было легче читать.

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

Оператор строгого равенства (===)
Равенство без преобразования типов

60 === 60;
// 60 (number) is strictly equal to 60 (number)
> true


60 === "60";
// 60 (number) is strictly equal to 60 (string)
> false

Вход в полноэкранный режим Выход из полноэкранного режима

Оператор строгого неравенства (!==)
Неравенство без преобразования типов

60 !== 60;
// 60 (number) is strictly not equal to 60 (number) 
> false


60 !== "60";
// 60 (number) is strictly not equal to 60 (string) 
> true
Войти в полноэкранный режим Выйти из полноэкранного режима

Оператор свободного равенства (==)
Равенство с любыми преобразованиями типов (с дополнительными примерами)

*Дополнительные примеры не обязательно точны, но они верны в рамках языка кодирования.

60 == "60";
// 60 (number) is loosely equal to 60 (string) 
> true

true == 1;
// true is loosely equal to 1 (number)
> true

"0" == false;
// 0 (string) is loosely equal to false
> true

null == undefined;
// null is loosely equal to undefined
> true

" " == 0;
// Empty Quotations is loosely equal to 0 (number)
> true
Вход в полноэкранный режим Выход из полноэкранного режима

Оператор неравенства (!=)
Неравенство с любыми преобразованиями типов

60 != "60";
// 60 (number) is not equal to 60 (string)
> false

61 != 60;
// 61 (number) is not equal to 60 (number)
> true

Вход в полноэкранный режим Выход из полноэкранного режима

Реляционные операторы

  • больше чем (>)
  • больше чем или равно (>=)
  • меньше чем (<)
  • меньше чем или равно (<=)

*Важно отметить, что здесь Javascript попытается преобразовать строки в числа.

*Для последнего примера обратите внимание, что если обе стороны неравенства являются строками, он будет сравнивать их только лексикографически (слева направо, по каждому символу). Он НЕ будет преобразовывать всю строку в число.

70 > "60";
// 70 (number) is greater than 60 (string)
> true

70 >= 70;
// 70 (number) is greater than or equal to 70 (number)
> true

70 < "80";
// 70 (number) is less than 80 (string)
> true

70 <= "71";
// 70 (number) is less than or equal to 71 (string)
> true

"70" > "8";
// 70 (string) is greater than 8 (string)
> false (see note above)

Вход в полноэкранный режим Выход из полноэкранного режима

Источники

MDN:

  • Выражения и операторы

  • Сравнение равенств и одинаковость

Оцените статью
devanswers.ru
Добавить комментарий