Приветствую, решал задачку по JS с заданием, чтобы программа выводила 2 средние буквы четного слова, и одну среднюю если слово нечетное ( пример test = es, testing = t). С таким вариантом решения, программа отрабатывала неверно
function getMiddle(s)
{
if (s.length % 2 === 0){
return s.substring(s.length/2 - 1, s.lenght/2 + 1);
}
return s.charAt((s.length -1) /2);
}
А с таким верно
return (s.length % 2 == 0) ? s.substring(s.length/2-1, s.length/2+1) : s[Math.floor(s.length/2)];
Так вот вопрос, суть решения одна и та же, почему же тернарный оператор отрабатывает верно, а условие if -нет?