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

Исчерпывающий словарь

Вопрос

Словарь, в котором обязательно есть ключ на каждый вариант Status.

type Status = 'new' | 'done';
type Labels = /* ? */;

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

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

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

Коротко

Правильный тип: Record<Status, string>. Ответ Почему так Record с union ключей заставляет компилятор требовать все варианты.

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

Record<Status, string>

Разбор

Ответ

Record<Status, string>

Почему так

Record с union ключей заставляет компилятор требовать все варианты. Добавили новый статус - словарь перестал компилироваться. Дешёвая защита от забытых веток.

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

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