top | item 33185165

(no title)

kamilafsar | 3 years ago

Interesting, we’re the opposite: use enums where possible. We think it adds more clarity to the reader.

Besides, sometimes number values make more sense then string values. Especially when you want to do bitwise operations, which are not possible on string unions.

discuss

order

brundolf|3 years ago

That's an interesting point about using number values- I have to say I've never needed to do a bitwise operation in JavaScript, though I know some high-performance projects like physics engines and the TypeScript compiler itself use them

Still, I'd prefer:

  const MyNumericEnum = {
    One: 0b001,
    Two: 0b010,
    Three: 0b100
  } as const

  type MyNumericEnum = typeof MyNumericEnum[keyof typeof MyNumericEnum]
Just for explicitness. But that's my subjective opinion