Генератор TypeScript Enum

РазработчикМатематика
Реклама · УДАЛИТЬ?

Параметры

Реклама · УДАЛИТЬ?

Гид

Генератор перечислений на TypeScript

Генератор TypeScript Enum

Генерируйте перечисления TypeScript, константные объекты и объединяющие типы из простого списка значений. Вставьте свои значения, выберите стиль именования и формат вывода, и получите готовый код TypeScript с необязательными комментариями JSDoc, защитой типов, обратными отображениями и массивами значений.

Как использовать

Введите свои значения по одному на строку или через запятую в поле ввода. Укажите имя перечисления, выберите стиль именования ключей (PascalCase, SCREAMING_SNAKE_CASE или camelCase) и выберите формат вывода. Сгенерированный код обновляется в реальном времени. Включите дополнительные параметры, такие как комментарии JSDoc, ключевое слово export, защита типов или массивы значений, по мере необходимости. Скопируйте результат в буфер обмена одним щелчком мыши.

Возможности

  • Различные форматы вывода – Строковое перечисление, числовое перечисление, константное перечисление, как константный объект и объединяющий тип
  • Стили именования ключей – PascalCase, SCREAMING_SNAKE_CASE и camelCase с интеллектуальной генерацией идентификаторов
  • Комментарии JSDoc – Необязательно добавляйте документационные комментарии над каждым элементом перечисления
  • Генерация защиты типов – Создайте функцию защиты типов для проверки значений во время выполнения
  • Массив значений – Сгенерируйте массив всех значений перечисления для итерации
  • Обратное отображение – Создайте вспомогательную функцию обратного поиска для числовых перечислений
  • Интеллектуальная генерация ключей – Обрабатывает специальные символы, дубликаты, значения, начинающиеся с цифр, и зарезервированные слова
  • Предварительный просмотр в реальном времени – Вывод обновляется мгновенно по мере ввода или изменения параметров

Реклама · УДАЛИТЬ?

Часто задаваемые вопросы

  1. Что отличает строковый перечисление от числового перечисления в TypeScript?

    Перечисления строковых типов присваивают строковые значения каждому элементу, как Color.Red равен строке RED. Числовые перечисления присваивают возрастающие числа, начиная с 0 по умолчанию, поэтому Color.Red равен 0 и Color.Blue равен 1. Строковые перечисления удобнее для отладки, так как значения читаемы в логах и запросах на сети. Числовые перечисления немного компактнее и поддерживают обратное отображение корректно, что позволяет находить имя по числу. Большинство современных проектов на TypeScript предпочитают строковые перечисления для ясности.

  2. Когда следует использовать `const enum` по сравнению с обычным `enum`? --- **Примечание:** В данном случае не требуется перевод, так как вопрос остаётся в английском языке. Если нужно перевести ответ на него — уточните.

    Константные перечисления полностью встраиваются на этапе компиляции. Компилятор TypeScript заменяет каждую ссылку на член константного перечисления его литеральным значением, поэтому не существует объекта перечисления во время выполнения. Это приводит к меньшему размеру сборки и быстрее выполнению. Однако константные перечисления нельзя проiterate (нет Object.values), они не поддерживают обратное отображение и могут вызывать проблемы с файлами объявлений в библиотечном коде. Используйте константные перечисления для внутренних констант приложения, где вы хотите нулевой перегрузка во время выполнения. Используйте обычные перечисления, когда вам нужно проiterate значения или при публикации библиотеки.

  3. Что такое объект `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` вместо перечислений по этим практическим причинам.

  4. Что такое типовая защита и зачем её генерировать?

    Гармонизация типа — это функция, сужающая тип значения на уровне выполнения. Для перечислений (enum) гарант типа проверяет, является ли строка или число действительным членом перечисления и сообщает системе типов TypeScript об этом результате. Например, функция `isColor(value: string): value is Color` возвращает `true`, только если значение соответствует члену перечисления. Это полезно при валидации ответов от API, данных форм или любых внешних данных, когда необходимо подтвердить принадлежность значения вашему перечислению перед использованием в коде с гарантией типов.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?