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

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

Вопрос

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

type Ev = 'click' | 'focus';
type H = Capitalize<Ev>; // /* ? */

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

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

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

Коротко

Правильный тип: 'Click' | 'Focus'. Строковые утилиты работают с литералами и распределяются по объединению: каждая строка обрабатывается отдельно.

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

'Click' | 'Focus'

Разбор

Строковые утилиты работают с литералами и распределяются по объединению: каждая строка обрабатывается отдельно. Получается 'Click' | 'Focus'. Так собирают имена обработчиков: `on${Capitalize<Ev>}`.

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

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