Почему условие '10' > '2' возвращает false, ведь 10 больше чем 2

Ответы
Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
19 июля 2022

Если бы сравнивались числа, то условие бы работало так, как и ожидалось: число 10 больше 2. Но сравниваются строки, а не числа. И строка '10' меньше чем строка '2'. Так интерпретатор работает. Он сравнивает первые символы в строках и проверяет, какой символ идёт раньше в алфавитной последовательности (или в числовой). Например 'bca' > 'abc' - здесь 'b' идёт после 'a', поэтому 'bca' будет считаться больше, чем 'abc'. 2 идет после 1, поэтому интерпретатор считает строку '10' меньше, чем строка '2', как если бы он сравнивал строку 'ab' со строкой 'c'.

Добавьте ваш ответ

Рекомендуемые курсы

Алгоритмы сортировки
Структуры данных
Бинарный поиск
Жадные алгоритмы
10 часов
Посмотреть
шаблонизация
REST
мидлвары
тестирование
11 часов
Посмотреть
состояние
JSX
компоненты
производительность
26 часов
Посмотреть