Есть запрос через библиотеку prisma, который возвращает значение с типом User[]. Почему при получение элемента с индексом 0 из этого массива я получаю переменную с типом User, а не User | undefined? Массив же может быть пустым.
RDMStreet, если хочешь. Typescript далёк от идеала и построен на компромиссах. Обычно никто не хочет проверять на существование каждый элемент массива при каждом использовании, потому и тип предполагает наличие. Что-то иное - да, только самому.