Узнайте все, что вам нужно знать об операторах сравнения в JavaScript.
Оператор сравнения
Оператор сравнения в информатике также называется оператором отношения. Это конструкция или оператор языка программирования, который определяет и проверяет некую связь между двумя объектами. Они включают числовое равенство, например, 5 = 5, и неравенства, например, 4 ≥ 3. Обычно эти операторы оцениваются как истинные или ложные, если условное отношение между двумя операндами выполняется или нет. Операторы сравнения можно понимать как отдельные случаи логических оснований.
Операторы сравнения в JavaScript записываются так:
- Больше или меньше: a ›b, a‹ b.
- Больше, меньше или равно: a ›= b, a‹ = b.
- Равно: a == b, (Двойной знак равенства) == означает проверку на равенство, хотя одиночный a = b означает присвоение.
- Не равно, кот! = б.
Знак тройного равенства (===)
Это тип оператора сравнения, а именно оператор равенства. Мы используем его для сравнения двух вещей, чтобы понять, равны ли они. Мы можем использовать оператор равенства, чтобы связать переменную со строкой, переменную с числом, переменную с математическим выражением или переменную с переменной. Мы можем использовать его для сравнения различных комбинаций. Ниже приведены все допустимые первые строки в операторах if:
if (fullName === "Mansoor" + " " + "Ahmed") { if (fullName === firstName + " " + "Mansoor") { if (fullName === firstName + " " + "Mansoor") { if (fullName === firstName + " " + lastName) { if (totalCost === 81.50 + 135) { if (totalCost === materialsCost + 135) { if (totalCost === materialsCost + laborCost) { if (x + y === a - b) {
В операторе равенства учитывается регистр. «Роза» не означает «роза», когда мы сравниваем струны. Другой оператор сравнения,! ==, противоположен ===. Это означает, что не равно.
1 if (myTicketNumber !== 487208) { 2 alert("Better luck next time."); 3 }
Как и ===, оператор неравенства может использоваться для сравнения чисел, строк, переменных, математических выражений и комбинаций. Использование оператора неравенства чувствительно к регистру, как и ===, при сравнении строк. Это правда, что «Роза»! == «роза». Ниже приведены еще 4 оператора сравнения, которые обычно используются для сравнения чисел.
> is greater than < is less than >= is greater than or equal to <= is less than or equal to
Результат в логическом
Логическое значение возвращается всеми операторами сравнения:
- Верно: означает «да», «правильно» или «правда».
- Ложь: означает «нет», «неправильно» или «не соответствует действительности».
Ложь: означает «нет», «неправильно» или «не соответствует действительности».
Например:
alert ( 2 > 1 ); // true (correct) alert ( 2 == 1); // false (wrong) alert( 2 != 1 ); // true (correct)
Результат сравнения можно присвоить переменной, как и любое значение:
let result = 6 > 5; // allocate the result of the comparison alert ( result); // true
Сравнение строк
JavaScript использует предполагаемый словарный или лексикографический порядок, чтобы понять, является ли строка больше другой. Строки сравниваются по буквам.
Например, алгоритм сравнения двух строк прост:
- Свяжите первый символ обеих строк.
- Если первый символ из первой строки больше или меньше, чем другие строки, то первая строка больше или меньше второй. Мы закончили.
- Затем таким же образом сравните вторые символы, если первые символы обеих строк совпадают.
- Повторяйте до конца любой строки.
- Они равны, если обе струны заканчиваются одинаковой длиной. Иначе, чем длиннее струна, тем больше.
Сравнение разных типов
JavaScript меняет значения на числа при связывании значений разных типов.
Например:
alert( '2' > 1 ); // true, string '2' becomes a number 2 alert( '01' == 1 ); // true, string '01' becomes a number 1
Истина становится 1, а ложь становится 0 для логических значений. Например:
alert( true == 1 ); // true alert ( false == 0); // true
Строгое равенство
Обычная проверка равенства == может не отличить 0 от false:
alert ( 0 == false); // true
То же самое происходит с пустой строкой:
alert(‘‘ == false ); // true
Это происходит из-за того, что операнды разных типов преобразуются в числа оператором равенства ==. Как и false, пустая строка становится нулем. К чему подготовиться, если мы хотим отличить 0 от ложного? Оператор твердого равенства === проверяет равенство без преобразования типа. Другими словами, можно сказать, что если a и b имеют разные типы, то a === b напрямую возвращает false без попытки их преобразовать. Попробуем:
Предупреждение (0 === ложь); // false, потому что типы разные. Еще есть оператор «строгого неравенства»! == аналог! =. Оператор твердого равенства писать немного дольше. Это проясняет, что происходит, и оставляет меньше места для ошибок.
Сравнение с null и undefined
Когда null или undefined сравниваются с другими значениями, происходит неинтуитивное поведение.
Из-за каждого из них для строгой проверки равенства === эти значения разные, это другой тип. Предупреждение (null === undefined); // ложный
Если нестрогая проверка == есть особое правило. Эти двое - сладкая парочка. Они равны друг другу. Иного значения они не имеют. предупреждение (null == undefined); // правда. Null становится 0, а undefined становится NaN для математики и других сравнений ‹› ‹=› = null или undefined преобразуются в числа. Когда мы применим эти правила, посмотрим, что произойдет. Остальные, что наиболее важно, как не попасть с ними в ловушку.
Странный результат: null vs 0
Давайте сравним ноль с нулем:
alert( null > 0 ); // (1) false alert( null == 0 ); // (2) false alert (null >= 0 ); // (3) true
Последний результат указывает на то, что «null больше или равно нулю». Следовательно, в одном из приведенных выше сравнений это должно быть правдой, но оба они ложны. Причина в том, что проверка на равенство == и сравнения ›‹ ›=‹ = работают по-разному. При сравнении значение null преобразуется в число, и оно рассматривается как 0. Поэтому (3) null ›= 0 истинно, а (1) null› 0 ложно.
Для получения дополнительной информации посетите: https://www.technologiesinindustry4.com/2021/01/what-are-javascript-comparison-operators.html
Больше контента на plainenglish.io