такая функция:
const test = (sectionName: 'Date' | 'Time'): 'time' | 'date' => {
return sectionName.toLowerCase();
}
и ts ругается на то что sectionName после toLowerCase может принимать тип string, а я на выходе ожидаю конкретные типы. Вопрос, как можно сделать так, чтобы он не ругался?
в общем случае никак, тайпскрипт не рассматривает литеральные типы как значения, и не поддерживает вычисления на них. Поэтому toLowerCase даже для литерала вернет string. Без явного каста не обойтись.
Обсуждают сегодня