дико)
const a = <
F extends boolean,
R extends F extends true ? string[] : string = F extends true ? string[] : string
>(flag: T): R => (flag ? ['yes'] : 'no') as R;
Ну вот дженерики самый гибкий способ Очень удобно любую сложность входных и выходных типов Мешает только что тс не умеет это автоматически на рантайм код натягивать
а можно пример - зачем нужны типы в рантайме?
Понял, изначально проблема была в "Сделать перегрузку/дженерик или написать 2 метода" После всего что обсудили - пожалуй напишу 2 метода)
Если есть такая возможность, то она всегда в приоритете. Полиморфизм типов в функциях - зло, поскольку не поддерживается в джс
лучше уж перегрузкой
Это не верное утверждение
Какое из утверждений? Что в джс нельзя 2 одноименные функции создать?
Обсуждают сегодня