Мы не можем просто заменить первый символ, т.к. строки в JavaScript неизменяемы. Но можно пересоздать строку на основе существующей, с заглавным первым символом: ```js var newStr = str[0].toUpperCase() + str.slice(1); ``` Однако, есть небольшая проблемка -- в случае, когда строка пуста, будет ошибка. Ведь `str[0] == undefined`, а у `undefined` нет метода `toUpperCase()`. Выхода два. Первый -- использовать `str.charAt(0)`, он всегда возвращает строку, для пустой строки -- пустую, но не `undefined`. Второй -- отдельно проверить на пустую строку, вот так: ```js //+ run function ucFirst(str) { // только пустая строка в логическом контексте даст false if (!str) return str; return str[0].toUpperCase() + str.slice(1); } alert( ucFirst("вася") ); ``` P.S. Возможны и более короткие решения, использующие методы для работы со строками, которые мы пройдём далее.