Я изначально сделал несколькими подряд идущими операторами if, и это дало 100% результат.
Несколько if
var age = 5;
var ageGroup;
if (age <= 1) {
ageGroup = "Котята";
}
if (age > 1 && age <= 3) {
ageGroup = "Молодые коты";
}
if (age > 3 && age <= 7) {
ageGroup = "Коты средних лет";
}
if (age > 7) {
ageGroup = "Почтенные коты";
}
console.log(ageGroup);
Но потом глянул, как другие делают, там идет через else if:
Через else if
var age = 5;
var ageGroup;
if (age <= 1) {
ageGroup = "Котята";
} else if (age > 1 && age <= 3) {
ageGroup = "Молодые коты";
} else if (age > 3 && age <= 7) {
ageGroup = "Коты средних лет";
} else {
ageGroup = "Почтенные коты";
}
console.log(ageGroup);
Вопрос состоит в следующем: в чем отличие этих двух подходов с точки зрения правильности написания кода? Почему-то мне кажется, что несколько if без else if — это неправильно, но не могу понять, почему.
Читал на MDN Принятие решений в Вашем коде — условные конструкции, там нет примера с несколькими if, только else if.
PS.
Прочитал там же про тернарный оператор, интересно получается:
Через тернарный оператор
var age = 5;
var ageGroup = (age <= 1) ? "Котята" :
(age <= 3) ? "Молодые коты" :
(age <= 7) ? "Коты средних лет":
"Почтенные коты";
console.log(ageGroup);
Тоже работает на 100%, но не уверен в правильности такого подхода.