Q10: What are Enums, String Enums, and `const enum` declarations?
Enums allow defining named sets of constants. TypeScript supports Numeric, String, and const enums.
Standard enums generate runtime JavaScript objects. A const enum is completely removed during compilation—its values are directly inlined into call sites, leaving zero JavaScript runtime object footprint.
const enum Inlining
const enum Direction {
Up = "UP",
Down = "DOWN"
}
const move = Direction.Up;
// Compiled JS output:
// var move = "UP"; // No Enum object generated!đź’ˇ const enum inlines literal values directly at compile time, reducing JavaScript bundle size.
Key Takeaways
- Use
const enumto eliminate runtime JavaScript object overhead. - String enums offer better readability during debugging than numeric enums.