1. 20
  1.  

  2. 7

    Typescript has been a massive improvement in my JS-related.adjacent work: front end, Deno, React Native tsx, etc. It’s really incredible how much more productive I feel when working on my RN app with great typing across the whole app. The work by the TS team is incredible.

    That said, does anyone else feel like TS is now a solved problem and the new versions are chipping away at the edges? I haven’t seen a feature in quite a while that has made me say “Oh man, finally, that’s great”.

    Performance improvements are always welcome, of course.

    1. 6

      For me, the aliased conditions improvement is a “oh man, finally, that’s great”.

      In terms of the JS ecosystem as a whole, I’m eagerly awaiting Record and Tuple immutable primitives and standardization of decorators.

      1. 1

        Very interesting, thanks for the link!

      2. 5

        I agree on the whole. The one big feature I wish Typescript had is pattern matching along the lines of any other strongly typed functional language, but I imagine its authors will want to wait for the corresponding TC39 proposal to reach some higher stage before designing its TypeScript implementation, assuming it doesn’t stall.

        I also find it difficult to fathom the difference between what the compiler claims can be “trivially” inferred and what cannot be inferred at all. On the one hand, control flow analysis of aliased conditions is a feature that leads me to suspect there are many similar inferences to chip away at. On the other, the language server is already pretty slow and I have to imagine additional inferences come with a performance cost.

        1. 2

          Pattern matching would be great! But yeah, it seems like something to put into JS/ES and then added to TS.

        2. 3

          I’ll be very happy if they keep chipping away at dependent types. For instance, “correlated record types”.

          1. 2

            I feel like I’ve hit that issue without realizing that’s what I wanted to do. Thanks for the link.