Умные весы. Не работает с else

Ребята, нужна ваша помощь.
Почему вот такой код работает:
var weight = 5;
var recommendation;

if (weight<4) {recommendation=‘Пора перекусить’};
if (weight>=4 && weight<=5.5) {recommendation=‘Вес в норме’};
if (weight>5.5) {recommendation=‘Пора на тренировку’};
console.log(recommendation);

А если я пишу через else, что на мой взгляд правильнее и логичнее:
var weight = 3;
var recommendation;

if (weight<4) {recommendation=‘Пора перекусить’};
if (weight>=4 && weight<=5.5) {recommendation=‘Вес в норме’}
else {recommendation=‘Пора на тренировку’}
console.log(recommendation);

потому что если вес меньше 4, то в переменную записывается “Пора перекусить”, а проходя через второе условие с else записывается “Пора на тренировку”. т.к. меньше 4 и больше 5.5 как раз являются else для второго условия.

вам нужно добавить else if для первого условия тогда тоже.
а вообще проще 3 независимых проверки.

пример
if ( weight  < 4 ) {
recommendation = 'Пора перекусить';
} else if ( weight > 5.5 ){
recommendation = 'Пора на тренировку';
} else {
recommendation = 'Вес в норме';
}

Большое спасибо!