Операторы сравнения в JavaScript. Как сравнить строки или всё познаётся в сравнении... | OTUS
🔥 Начинаем BLACK FRIDAY!
Максимальная скидка -25% на всё. Успейте начать обучение по самой выгодной цене.
Выбрать курс

Курсы

Программирование
iOS Developer. Basic
-25%
Python Developer. Professional
-25%
Разработчик на Spring Framework
-25%
Golang Developer. Professional
-25%
Python Developer. Basic
-25%
iOS Developer. Professional
-25%
Highload Architect
-25%
JavaScript Developer. Basic
-25%
Kotlin Backend Developer
-25%
JavaScript Developer. Professional
-25%
Android Developer. Basic
-25%
Unity Game Developer. Basic
-25%
Разработчик C#
-25%
Программист С Web-разработчик на Python Алгоритмы и структуры данных Framework Laravel PostgreSQL Reverse-Engineering. Professional CI/CD Vue.js разработчик VOIP инженер Программист 1С Flutter Mobile Developer Супер - интенсив по Kubernetes Symfony Framework Advanced Fullstack JavaScript developer Супер-интенсив "Azure для разработчиков"
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-25%
DevOps практики и инструменты
-25%
Архитектор сетей
-25%
Инфраструктурная платформа на основе Kubernetes
-25%
Супер-интенсив «IaC Ansible»
-16%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-25%
Administrator Linux. Professional MS SQL Server Developer Безопасность Linux PostgreSQL Reverse-Engineering. Professional CI/CD VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Administrator Linux.Basic Супер-интенсив «ELK»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Операторы сравнения в JavaScript. Как сравнить строки или всё познаётся в сравнении...

В этой статье мы поговорим об операторах сравнения в языке программирования JavaScript и отдельное внимание уделим тому, как сравнивать строки. Также вы узнаете, почему строчная "a" не равна заглавной "A".

Большинство операторов сравнения, используемых в JS, нам хорошо известны ещё из математики. Впрочем, операторы знакомы всем, кто имеет даже скромный опыт программирования на любых языках: — операторы «больше» и «меньше»: a > b, a < b; — операторы «больше либо равно», «меньше либо равно»: a >= b, a <= b; — оператор «равно»: a == b. Не забудьте, что в программировании оператор «равно» — это двойной знак равенства. Одинарное равно имеет оператор присваивания: a = b; — оператор «не равно». В школьной алгебре это ≠. В JavaScript, как и других языках, при написании оператора «равно» пишут равно и восклицательный знак: a != b.

Логический тип результата сравнения

Как и другие операторы, операторы сравнения тоже возвращают значение. В нашем случае у этого значения логический тип, а именно:

• true – значит «истина». • false – значит «ложь».

К примеру:

alert( 2 > 1 );  // true (верно)
alert( 2 == 1 ); // false (неверно)
alert( 2 != 1 ); // true (верно)

Кстати, у нас есть возможность присвоить результат сравнения какой-нибудь переменной:

let result = 5 > 4; // результат сравнения мы присвоим переменной result
alert( result ); // true

Сравнение строк в JavaScript

Иногда нужно определить, является ли одна строка больше, чем другая. В языке JavaScript применяется «алфавитный» либо «лексикографический» порядок. Иначе говоря, сравнение строк осуществляется посимвольно.

Простой пример сравнения строк:

alert( 'Я' > 'А' ); // true
alert( 'Ком' > 'Код' ); // true
alert( 'Сонник' > 'Сон' ); // true

А вот алгоритм сравнения 2-х строк, который является весьма простым: 1. Поначалу происходит сравнение первых символов строк. 2. В случае, если 1-й символ первой строки больше или меньше 1-го символа второй строки, 1-я строка будет больше (или, соответственно, меньше), чем вторая строка. 3. Если же 1-е символы будут равны, происходит сравнение вторых символов строк. 4. Согласно алгоритму, сравнение продолжается до тех пор, пока одна из строк не закончится. 5. В случае, когда обе строки заканчиваются одновременно, эти строки равны. Или же, большей будет считаться та строка, которая длиннее.

Рассмотрим наши примеры. Очевидно, что сравнение 'Я' > 'А' закончится на 1-м шаге. Что касается строк "Ком" и "Код", то их сравнение будет осуществляться посимвольно следующим образом: 1. "К" равна "К". 2. "о" равна "о". 3. "м" является больше чем "д". А значит, сравнение строк заканчивается. Результат — первая строка больше, чем вторая.

Почему так получается? Потому что здесь используется на классический алфавит, а кодировка Unicode, в соответствии с которой каждый символ имеет свое значение на «машинном» языке. Таблицу символов русского языка можно посмотреть, например, здесь.

Кроме того, следует учитывать, что в JavaScript регистр символов тоже имеет значение. Если вы перейдёте по ссылке выше, то увидите, что строчная "a" не равна заглавной "A". Как видно из таблицы, строчная "a" будет больше.

Пожалуй, это основное из того, что нужно знать о сравнении строк. Собственно говоря, это простейшие вещи, которые должен знать каждый. Если же вас интересуют действительно продвинутые навыки программирования на JavaScript, добро пожаловать на наш курс!

JS_970x90-20219-c6e520.jpg

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
🎁 Максимальная скидка!
Черная пятница уже в OTUS! Скидка -25% на всё!