6 ms·
There's almost no material benefit to expressing as an enum. You get type checking either way.
by simplify 2y ago
There's almost no material benefit to expressing as an enum. You get type checking either way.
- cies 2y agoI got that. It's just that I'm not used to strings being some kind of enums. But hey, why not!
- simplify 2y agoUnderstandably so, it's the impressive power of TypeScript's type system. No other mainstream language has arbitrary union types like this.
- 1propionyl 2y agoArbitrary unions of literals as types have been done before dynamically (Lisps, Prologs, Erlang) and done elsewhere statically(Python). The more distinctive features in TypeScript would be what you can to with keyof/typeof, indexed access types, conditional types and especially mapped types.
- simplify 2y agoTypeScript's unions are still impressive as you can union anything, not just literal types (TIL python has unions for literals, thanks). Out of curiosity, what do you mean by dynamically? Isn't that just a case statement, or am I misunderstanding?
- 1propionyl 2y ago> TypeScript's unions are still impressive as you can union anything, not just literal types (TIL python has unions for literals, thanks). You can do this in Python too..?