Все нормально устраивает, я решил задачу, посмотрел решение учителя и
export default (str) => {
let result = '';
for (let i = 0; i < length(str); i += 1) {
const shouldBeBig = str[i] !== ' ' && (i === 0 || str[i - 1] === ' ');/*создает константу которая что? Равняется символу который равен нулю или перед ним пробел? То есть при каждой итерации это константа проводит отбор?*/
result += shouldBeBig ?/* что за знак '?' первые вижу*/ toUpperCase(str[i]) : str[i];/* тоже непонятно что это ":"*/
}
return result;
};