enum Direction { Up = "UP", Down = "DOWN" } — создаёт и тип и runtime объект. Numeric enums (без значений) имеют проблему — любое число совместимо с ними. Альтернативы: as const объекты (const Direction = { Up: "UP", Down: "DOWN" } as const) — нет runtime overhead для типов, работает как union. Union literal types ("UP" | "DOWN") — самое простое. Большинство TS экспертов рекомендуют as const или union вместо enum для строковых значений.
Что такое enums в TypeScript и какие есть альтернативы?
Middle
321 просмотровAFK Offer AI
Что такое type narrowing в TypeScript?