Генератор TypeScript Enum
Гид
Генератор TypeScript Enum
Генерируйте перечисления TypeScript, константные объекты и объединяющие типы из простого списка значений. Вставьте свои значения, выберите стиль именования и формат вывода, и получите готовый код TypeScript с необязательными комментариями JSDoc, защитой типов, обратными отображениями и массивами значений.
Как использовать
Введите свои значения по одному на строку или через запятую в поле ввода. Укажите имя перечисления, выберите стиль именования ключей (PascalCase, SCREAMING_SNAKE_CASE или camelCase) и выберите формат вывода. Сгенерированный код обновляется в реальном времени. Включите дополнительные параметры, такие как комментарии JSDoc, ключевое слово export, защита типов или массивы значений, по мере необходимости. Скопируйте результат в буфер обмена одним щелчком мыши.
Возможности
- Различные форматы вывода – Строковое перечисление, числовое перечисление, константное перечисление, как константный объект и объединяющий тип
- Стили именования ключей – PascalCase, SCREAMING_SNAKE_CASE и camelCase с интеллектуальной генерацией идентификаторов
- Комментарии JSDoc – Необязательно добавляйте документационные комментарии над каждым элементом перечисления
- Генерация защиты типов – Создайте функцию защиты типов для проверки значений во время выполнения
- Массив значений – Сгенерируйте массив всех значений перечисления для итерации
- Обратное отображение – Создайте вспомогательную функцию обратного поиска для числовых перечислений
- Интеллектуальная генерация ключей – Обрабатывает специальные символы, дубликаты, значения, начинающиеся с цифр, и зарезервированные слова
- Предварительный просмотр в реальном времени – Вывод обновляется мгновенно по мере ввода или изменения параметров
Часто задаваемые вопросы
-
Что отличает строковый перечисление от числового перечисления в TypeScript?
Перечисления строковых типов присваивают строковые значения каждому элементу, как Color.Red равен строке RED. Числовые перечисления присваивают возрастающие числа, начиная с 0 по умолчанию, поэтому Color.Red равен 0 и Color.Blue равен 1. Строковые перечисления удобнее для отладки, так как значения читаемы в логах и запросах на сети. Числовые перечисления немного компактнее и поддерживают обратное отображение корректно, что позволяет находить имя по числу. Большинство современных проектов на TypeScript предпочитают строковые перечисления для ясности.
-
Когда следует использовать `const enum` по сравнению с обычным `enum`? --- **Примечание:** В данном случае не требуется перевод, так как вопрос остаётся в английском языке. Если нужно перевести ответ на него — уточните.
Константные перечисления полностью встраиваются на этапе компиляции. Компилятор TypeScript заменяет каждую ссылку на член константного перечисления его литеральным значением, поэтому не существует объекта перечисления во время выполнения. Это приводит к меньшему размеру сборки и быстрее выполнению. Однако константные перечисления нельзя проiterate (нет Object.values), они не поддерживают обратное отображение и могут вызывать проблемы с файлами объявлений в библиотечном коде. Используйте константные перечисления для внутренних констант приложения, где вы хотите нулевой перегрузка во время выполнения. Используйте обычные перечисления, когда вам нужно проiterate значения или при публикации библиотеки.
-
Что такое объект `as const` и как он сравнивается с перечислением?
Объект с `as const` использует простой объект JavaScript вместе с утверждением `const`, чтобы достичь поведения, напоминающего перечисления. Например, `const Color = { Red: 'RED', Blue: 'BLUE' } as const` создаёт неизменяемый объект, где TypeScript инфицирует литеральные типы. Этот подход работает как в TypeScript, так и в JavaScript, лучше поддерживает устранение дублирующегося кода по сравнению с перечислениями и избегает некоторых проблем при транслировании перечислений. Недостатком является немного более объёмное извлечение типов: для получения объединённого типа нужно использовать `type Color = typeof Color[keyof typeof Color]`. Многие команды предпочитают объекты `as const` вместо перечислений по этим практическим причинам.
-
Что такое типовая защита и зачем её генерировать?
Гармонизация типа — это функция, сужающая тип значения на уровне выполнения. Для перечислений (enum) гарант типа проверяет, является ли строка или число действительным членом перечисления и сообщает системе типов TypeScript об этом результате. Например, функция `isColor(value: string): value is Color` возвращает `true`, только если значение соответствует члену перечисления. Это полезно при валидации ответов от API, данных форм или любых внешних данных, когда необходимо подтвердить принадлежность значения вашему перечислению перед использованием в коде с гарантией типов.
Установите наши расширения
Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска
恵 Табло результатов прибыло!
Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!
Подписаться на новости
все Новые поступления
всеОбновлять: Наш последний инструмент было добавлено 29 апр. 2026
