3 ms·
Nice, but without support for Enums, for me it's mostly useless.
by just-tom 2y ago
Nice, but without support for Enums, for me it's mostly useless.
- Shacklz 2y agoIn our codebase we started to disallow enums in favour of string literal types, and once folks get over the ingrained "this needs to be an enum" (coming mostly from other languages like Java), it's not much missed. Enums are one of the very few things in typescript that seem to not have turned out that well, but it's relatively easy to work without them with string-literable types and such, derived from some const in case they're also needed at runtime.
- shepherdjerred 2y ago100% agree. Coming from Java I really wanted an Enum type, but string literals/discriminated unions fill that niche just fine.
- bythreads 2y agoagree enums in typescript are the devil
- revskill 2y agoCould u explain why ?
- deleted 2y ago[deleted]
- azangru 2y agoThere are union types for strings; and there are plain javascript objects (typed as const) if "namespace.name" syntax is desired. With these available, what is the point of enums?
- silverwind 2y agoNamespaces are also not supported as per https://github.com/nodejs/node/blob/main/doc/api/typescript.md#unsupported-typescript-features https://github.com/nodejs/node/blob/main/doc/api/typescript..... I for one can can live without all these features and will be banning via eslint.
- azangru 2y agoYes. Both namespaces and enums (and probably the "private" keyword on class methods) are an early addition to the language, which would have never been added if typescript from the very start aligned closely with Ecmascript.