вернуться к уроку

Сделать первый символ заглавным

важность: 5

Напишите функцию ucFirst(str), возвращающую строку str с заглавным первым символом. Например:

ucFirst("вася") == "Вася";

Открыть песочницу с тестами для задачи.

Мы не можем просто заменить первый символ, так как строки в JavaScript неизменяемы.

Но можно пересоздать строку на основе существующей, с заглавным первым символом:

let newStr = str[0].toUpperCase() + str.slice(1);

Однако есть небольшая проблемка. Если строка пуста, str[0] вернёт undefined, а у undefined нет метода toUpperCase(), поэтому мы получим ошибку.

Выхода два:

  1. Использовать str.charAt(0), поскольку этот метод всегда возвращает строку (для пустой строки — пустую).
  2. Добавить проверку на пустую строку.

Вот второй вариант:

function ucFirst(str) {
  if (!str) return str;

  return str[0].toUpperCase() + str.slice(1);
}

alert( ucFirst("вася") ); // Вася

Открыть решение с тестами в песочнице.