Перечисления (enums) в TypeScript — это УЖАС. Вот почему.
Michigan TypeScript
0:00 / 0:00
Перечисления (enums) в TypeScript — это УЖАС. Вот почему.
75 274 просмотра · 3 года назад
Michigan TypeScript
22,4 тыс. подписчиков
75 274 просмотра · 3 года назад
Перечисления TypeScript уже порядком надоели. В первые дни, до того, как объединения строк стали такими мощными, другого варианта не было. Сегодня же они приносят больше проблем, чем пользы. В этом докладе рассматриваются некоторые проблемы с перечислениями, а также некоторые решения этих проблем. Идеального решения не существует, но, возможно, и идеального решения, использующего перечисления TypeScript, тоже нет. :P
00:00 Как работают перечисления в целом
00:45 Значение перечислений по умолчанию
01:00 Первая ошибка перечислений
01:30 Попытка исправить эту проблему с обязательными индексами
02:00 Как выглядят перечисления во время выполнения?
02:50 Еще один недостаток: аргументы функций
03:43 Обход проблемы с аргументами функций
04:31 Есть «ружья» (даже с обходными путями)
04:47 Лучший подход, чем перечисления: POJO
06:14 Вопрос от аудитории: почему бы просто не создать объединение строк?
06:59 Вопрос от аудитории: значения во время выполнения для некорректного аргумента функции?
07:56 Комментарий от аудитории: это всё ещё просто JavaScript
08:26 Вопрос от аудитории: есть ли какие-либо ключи в перечислении?
09:22 Комментарий от аудитории: артефакты времени выполнения TypeScript === плохо
10:06 Вопрос от аудитории: как вы справляетесь с вариациями?
11:25 оператор satisfies может помочь
12:29 как решить новую проблему, возникшую при использовании объектов
Аарон Харпер (https://github.com/goodoldneon) — инженер-программист, который увлекается садоводством, велоспортом и тратит слишком много времени и денег на избыточную домашнюю лабораторию.
Запись сделана 1 ноября 2022 года в Cahoots (https://cahoots.com) в Анн-Арборе, штат Мичиган.
Discord: / discord
Twitter: / mitypescript
Mastodon: https://fosstodon.org/@MichiganTypeSc...
Instagram: / michigantypescript
TikTok: / michigantypescript