In TypeScript, I often prefer to use a Record over a switch statement


In TypeScript, I often prefer to use a Record over a switch statement.

✅ It's easy to read.
✅ It's typically less code.
✅ It's safer. With a switch, I have to do extra work to assure it's exhaustive. With a Record, if I forget to handle a case, it won't compile.

When I forget a case with a Record, I get a helpful compile-time message.

With a switch, I need to remember to code it in a manner that's exhaustive (such as throw in the default).

So a Record is safer.

Playground:
https://www.typescriptlang.org/play?#code/C4TwDgpgBAkgxgewHYDECWAbDBhBGEBOUAvFAERgFoC2AhgSGVAD7kDOEiSAJvYwNwAoQVzbAoaLuiy58BNgC4oAJU6FuAHnjJpOPIQA0UMVSQBzAHwkoAb0FRylGnzJKyAYgAM3n2QOCAegCHdjUeFzd3AA5PGJi-QQBfIUEIAA8wQnEAMwBXJDhgNGQoMwhgbVRMPTkACmzq2UIlSt0mggBKW3soAnLcgiQJKUb9eQBtBpkxgF0hRKA

View original on X