Напиши тип Senior Условные и mapped-типы обновлено

infer у функции

Вопрос

Напиши свой ReturnType через infer.

type MyReturnType<T> = /* ? */;

Попробуйте сами

Напишите тип, как написали бы в коде.

Показать ответ и разбор

Коротко

Правильный тип: T extends (...args: any[]) => infer R ? R : never. Ответ Почему так Дословно так ReturnType и определён в lib.es5.d.ts.

Правильный тип

T extends (...args: any[]) => infer R ? R : never

Разбор

Ответ

T extends (...args: any[]) => infer R ? R : never

Почему так

Дословно так ReturnType и определён в lib.es5.d.ts. Стоит уметь написать по памяти - спрашивают часто.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.