Задать вопрос
@romaro

Как типизировать зависимость вывода функции от типа аргумента?

Пробую так, но не работает:
type F = {
  (p1: string): string,
  (p1: number): number,
}

const fn: F = (p1: number) => { return ++p1 };

const a = fn(5);


Видимо, нужно использовать обобщенный тип, но не совсем понятно, как вынести это в самостоятельное описание типа (Type = {}):
function fn<T extends number | string>(p1: T): T { return p1 };
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Skillbox
    Frontend-разработчик
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@awenn2015
Веб-разработчик самоучка
Может такой вариант подойдет?
type Example = <T = string | number>(arg: T) => T;

const FuncExample: Example = (arg) => {
  // Логика
  return arg
};

// type test = number
const test = FuncExample<number>(12);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы