TypeScript · Middle · Запитання 16 з 75

Чому замість enum часто використовують об'єкт as const?

const Status = { Active: 'active', Banned: 'banned' } as const;
type Status = typeof Status[keyof typeof Status];

Пояснення

Об'єкт - стандартний JS: його можна ітерувати, він сумісний із режимом erasable syntax (Node.js type stripping). Тип - union рядків, що приймає й літерали з API. Числові enum, навпаки, приймають будь-яке число й створюють зворотне відображення. Enum не видалено.

Де почитати

Помилка в запитанні

TypeScript · Middle · запитання 16

Перевірте себе

Пройдіть тест TypeScript · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест