Напиши тип Middle Утилитарные типы обновлено

Awaited на объединении

Вопрос

Какой тип получит R? Впишите тип.

type R = Awaited<Promise<string> | number>; // /* ? */

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

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

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

Коротко

Правильный тип: string | number. Awaited это условный тип, он распределяется по объединению.

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

string | number

Разбор

Awaited это условный тип, он распределяется по объединению. Promise<string> распаковывается в string, а number не промис и остаётся как есть. Итог string | number, ровно то, что даст await над таким значением.

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

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