@Drumsid

Почему не срабатывает else if?

Верхний if работает а под ним else if не работает.
Не пойму почему. И else работает.
const reverse = (str) => {
   let z = "";
   for ( let i = 0; i < str.length; i++) {
     if ( str[i].toLowerCase()) {
         z += str[i].toUpperCase();
      } else if (str[i].toUpperCase()) {
         z += str[i].toLowerCase();
      } else {
          z += str[i];
       }
   }
   return z;
}

console.log(reverse("FhoD hE.  *+"));
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 2
nyakove
@nyakove
А что вы хотите проверить своими if'ами? .toLowerCase() и .toUpperCase() - это методы, которые срабатывают для любой строки (и подстроки, коей и является отдельный символ). Проще говоря, условие сработает (отдаст true) и для 'a'.toLowerCase(), и для 'A'.toLowerCase(). В обоих случаях выводом будет 'a', что JS приводит к boolean как true.
Ответ написан
Комментировать
toLowerCase() возвращает строку приведенную в нижний регистр. Соответственно условие будет всегда верное
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы