В Вашем случае когда в массиве значение под индексом 0 равно undefined функция вылетает с ошибкой.
Для того, чтобы избежать такого поведения необходимо добавить проверку на undefined
В вашей функции это будет выглядеть следующим образом:
const convertText2 = (text) => {
if (text[0] === undefined) {
return 'Undefined value!';
}
return text[0].toUpperCase() === text[0] || text === '' ? text : reverse(text)
};
по хорошему перед тем как писать логику функции Вам необходимо проверить что text это массив (text.isArray()), раз Вы обращаетесь к его первому элементу.
+ раз уж это массив, а Вы дальше будете писать логику по прохождению каждого элемента массива, то перед этой логикой для каждого элемента проверку на undefined и null необходимо добавить