An enum is a special TypeScript feature that lets you define a set of named constants. It helps group related values under a single name.
Click to reveal answer
beginner
Why do we use enums instead of plain strings or numbers?
Enums make code easier to read and maintain by giving meaningful names to values. They also help catch errors early by restricting values to a fixed set.
Click to reveal answer
intermediate
How do enums improve code safety?
Enums restrict variables to only the predefined set of values, preventing invalid values and reducing bugs caused by typos or wrong inputs.
Click to reveal answer
beginner
Give a real-life example where enums are useful.
For example, days of the week can be an enum: Monday, Tuesday, etc. This avoids mistakes like misspelling 'Monday' or using invalid days.
Click to reveal answer
intermediate
What happens if you use plain strings instead of enums for fixed sets of values?
Using plain strings can lead to mistakes like typos, inconsistent values, and harder-to-maintain code because there is no central list of allowed values.
Click to reveal answer
What is the main benefit of using enums in TypeScript?
AThey replace functions.
BThey make the program run faster.
CThey group related constants with meaningful names.
DThey allow any value to be assigned.
✗ Incorrect
Enums group related constants and give them meaningful names, improving code clarity.
Which problem do enums help prevent?
ATypos in fixed values.
BSlow internet connection.
CMemory leaks.
DInfinite loops.
✗ Incorrect
Enums restrict values to a fixed set, preventing typos and invalid values.
How do enums improve code maintenance?
ABy removing all comments.
BBy centralizing allowed values in one place.
CBy making code shorter.
DBy hiding errors.
✗ Incorrect
Enums keep allowed values in one place, making updates and checks easier.
Which of these is a good use case for enums?
AStoring user passwords.
BHandling network requests.
CCalculating sums.
DRepresenting user roles like Admin, User, Guest.
✗ Incorrect
Enums are great for fixed sets like user roles.
What happens if you assign a value not in the enum to an enum variable?
ATypeScript will show an error.
BThe program crashes immediately.
CThe value is accepted silently.
DThe enum changes automatically.
✗ Incorrect
TypeScript enforces enum values and shows errors for invalid assignments.
Explain why enums are useful in TypeScript and how they help prevent errors.
Think about how enums limit what values a variable can have.
You got /5 concepts.
Describe a real-life example where using an enum would make your code better.
Consider something with a small list of known options.
You got /4 concepts.
Practice
(1/5)
1. Why are enums useful in TypeScript? enum Color { Red, Green, Blue }
easy
A. They group related values with readable names.
B. They allow dynamic addition of new values at runtime.
C. They replace all functions in TypeScript.
D. They automatically convert numbers to strings.
Solution
Step 1: Understand what enums represent
Enums group a fixed set of related values under friendly names, improving code clarity.
Step 2: Analyze the options
Only They group related values with readable names. correctly describes enums' purpose. Options A, B, and C are incorrect features.
Final Answer:
They group related values with readable names. -> Option A
Quick Check:
Enums improve readability = D [OK]
Hint: Enums group fixed options with names, not dynamic values [OK]
Common Mistakes:
Thinking enums allow adding values at runtime
Confusing enums with functions
Believing enums convert numbers to strings automatically
2. Which of the following is the correct syntax to declare an enum in TypeScript?
easy
A. enum Direction { Up, Down, Left, Right }
B. enum Direction = (Up, Down, Left, Right);
C. enum Direction: [Up, Down, Left, Right];
D. enum Direction { 'Up', 'Down', 'Left', 'Right' }
Solution
Step 1: Recall enum declaration syntax
In TypeScript, enums are declared using the keyword enum followed by curly braces with comma-separated names.
Step 2: Check each option
enum Direction { Up, Down, Left, Right } matches the correct syntax. Options A and C use invalid assignment or colon syntax. enum Direction { 'Up', 'Down', 'Left', 'Right' } incorrectly uses quotes around names.
Final Answer:
enum Direction { Up, Down, Left, Right } -> Option A
Quick Check:
Correct enum syntax uses braces and names without quotes = B [OK]
Hint: Enums use braces and names without quotes [OK]
Common Mistakes:
Using equals sign or colon instead of braces
Putting quotes around enum member names
Ending enum declaration with semicolon incorrectly
3. What will be the output of this TypeScript code?
enum Status { Active = 1, Inactive, Pending }
console.log(Status.Inactive);
medium
A. Inactive
B. 1
C. 0
D. 2
Solution
Step 1: Understand enum numeric values
The enum starts with Active = 1, so Inactive gets the next number, 2, and Pending gets 3.
Step 2: Check the logged value
Logging Status.Inactive prints its numeric value, which is 2.
Final Answer:
2 -> Option D
Quick Check:
Enum auto-increments numbers = A [OK]
Hint: Enum numbers auto-increment from first assigned value [OK]
Common Mistakes:
Assuming enum starts at 0 when first value is assigned 1
Expecting string output instead of number
Confusing enum member names with their values
4. Identify the error in this enum declaration:
enum Size {
Small = 'S',
Medium = 'M',
Large = 3
}
medium
A. Enum values must be unique numbers only.
B. Mixing string and number values in one enum is not allowed.
C. Enum member names must be lowercase.
D. Missing semicolon after enum declaration.
Solution
Step 1: Check enum value types
TypeScript enums can be numeric or string, but mixing both types in one enum causes errors.
Step 2: Analyze the given enum
Here, 'Small' and 'Medium' have string values, but 'Large' has a number, which is invalid.
Final Answer:
Mixing string and number values in one enum is not allowed. -> Option B
Quick Check:
Enum values must be consistent type = C [OK]
Hint: Enum values must be all strings or all numbers [OK]
Common Mistakes:
Thinking enum member names must be lowercase
Believing enum values must be unique numbers only
Assuming missing semicolon causes error
5. You want to represent fixed user roles in your app: 'Admin', 'Editor', and 'Viewer'. Why is using an enum better than plain strings?
enum UserRole { Admin, Editor, Viewer }
hard
A. Enums automatically encrypt role names for security.
B. Enums allow adding new roles dynamically at runtime.
C. Enums prevent typos and make code easier to maintain.
D. Enums convert roles to numbers for faster database storage.
Solution
Step 1: Understand the benefit of enums for fixed sets
Enums provide named constants that prevent typos and improve readability and maintainability.
Step 2: Evaluate the options
Enums prevent typos and make code easier to maintain. correctly states the main advantage. Options B, C, and D describe incorrect or unrelated features.
Final Answer:
Enums prevent typos and make code easier to maintain. -> Option C
Quick Check:
Enums improve safety and clarity = A [OK]
Hint: Enums reduce errors by using fixed named values [OK]