Похоже, что присвоение строк не работает так в Javascript, что очень плохо, оно интуитивно правильно.
Итак, используйте объединение строк, которого не существует, поэтому разбейте строку на массив символов с помощью str.split('')
и используйте объединение массивов.
Сращивание изменяет входной массив на месте, поэтому вам не нужно переназначать его.
const str = "hello";
var rayy = str.split(''); // ['h', 'e', 'l', 'l', 'o']
rayy.splice(0, 1, rayy[0].toUpperCase()); // returns ['h], but rayy is now modified in place to ['H', 'e', 'l', 'l', 'o']
const str2 = rayy.join(''); // "Hello"
Ваше использование map
является адептом и подходящим.