Нахожусь в самом начале пути изучения JS.
Передо мной стояла задача:
Пусть в переменной num хранится число. Если это число меньше 10 или больше 99, то выведите на экран сообщение об этом. Если же число попадает в указанный диапазон, то найдите сумму цифр этого числа. Если полученная сумма меньше или равна 9, то выведите на экран сообщение о том, что сумма цифр однозначна, в противном случае выведите сообщение о том, что сумма цифр двузначна.
Написала следующий код:
let num = 27;
if (num < 10 || num > 99) {
alert ('Число меньше 10 или больше 99');
} else {
let num2 = num%10; // 27/10 = остаток 7
let num1 = (num-num2)/10; //27-7 = 20/10 = 2
let sum = num1+num2;
console.log (sum);
if (sum <= 9) {
alert ('Сумма цифр однозначна');
} else {
alert ('Сумма цифр двузначна');
}
}
При этом, если в переменную num я записываю значение 99 или 10, выводятся сообщения "Сумма цифр двузначна"/"Сумма цифр однозначна" соответственно.
Не понимаю, почему так, если я указала операторы < и >. По идее, эти значения не должны попадать в диапазон.
Однако если я использую операторы <= и >= , то значения 99 и 10 не попадают в диапазон.
Помогите, пожалуйста, разобраться, почему так получается.