|
|
|
|
|
by rco8786
3064 days ago
|
|
> On the other hand I am concerned that TypeScript is becoming a very bloated language I came to say exactly this. Are there actually people out there asking for all of these nuanced features? I've been excited about TS for a while and used it for several side projects with great success...but with each new release and new set of "features" my excitement wanes a bit. |
|
The strict class property initialization check was the one of the highest-voted, most-commented, and most-duped "unfixed" issues on the issue tracker.
Definite assignment assertions are a necessary co-feature for class property initialization checks to work ergonomically.
ES module interop is just TS keeping up with the evolving ES6 / CJS interop story. TS has to support ES modules.
"unique symbol" is type system support for the long-present ES6 symbol concept.
Cleaner/prettier console output should be uncontroversial as an incremental improvement.
Numeric separators are an ECMAScript feature that need to be supported. TS has to support ES syntax.
Fixed length tuples were a long-standing proposal (nearly 2 years old) that had a lot of positive feedback from the community. Among people who were using tuples, the prior behavior was seen as very much wrong and we were convinced by the use cases. People not using tuples are unaffected, naturally. It's more of a bugfix than a feature.
Better narrowing under "in" and "instanceof" were also long-standing issues. The "instanceof" behavior in particular just looks like a bug; only from a spec-lawyer perspective is it really a feature per se. It's more of a bugfix than a feature.
Smarter object literal inference again basically amounts to a bugfix; TS was allowing extremely broken code, essentially due to some implementation details of how types' representations are optimized. It's more of a bugfix than a feature.
It's definitely understandable that the most exciting features are already in the language, but I don't see anything in this list and see "bloat".