Concept Flow - Enums
Define Enum with named values
Use Enum value in code
Compare or switch on Enum
Execute code based on Enum case
End
Enums let you create named constants to represent fixed options, making code clearer and safer.
enum Status {
Pending,
Confirmed,
Failed
}
let txStatus = Status.Pending;| Step | Action | Enum State | Variable txStatus | Notes |
|---|---|---|---|---|
| 1 | Define enum Status with values Pending=0, Confirmed=1, Failed=2 | Status = {Pending:0, Confirmed:1, Failed:2} | undefined | Enum created with named values |
| 2 | Assign txStatus = Status.Pending | Status unchanged | 0 | txStatus holds enum value 0 (Pending) |
| 3 | Check if txStatus == Status.Pending | Status unchanged | 0 | Condition true, code for Pending runs |
| 4 | Update txStatus = Status.Confirmed | Status unchanged | 1 | txStatus updated to Confirmed |
| 5 | Check if txStatus == Status.Failed | Status unchanged | 1 | Condition false, code for Failed skipped |
| 6 | End of example | Status unchanged | 1 | Execution stops |
| Variable | Start | After Step 2 | After Step 4 | Final |
|---|---|---|---|---|
| txStatus | undefined | 0 (Pending) | 1 (Confirmed) | 1 (Confirmed) |
Enums create named constants with fixed values. Use enum names in code for clarity. Internally, enums store numbers. Compare enum variables to enum names. Helps avoid magic numbers and bugs.