Hacker News new | ask | show | jobs
by pitaj 1300 days ago
Realistically, that simply doesn't apply to TS, because the conversion to JS literally just removes types.
1 comments

Not always, because certain operations that look trivial in TS involve more code in JS, e.g. the widespread `?.` operator. The code is usually trivial though.

It's Flow that just allows to remove any type annotations; there's no compiler, only typechecker.

You're mistaken. Optional chaining is a JavaScript feature[1]. The stated goal of TypeScript is to be valid JavaScript when the types are stripped away. That's why they have functionally removed namespaces and they want to remove enums. They're the only language features that are actually compiled instead of just stripped.

[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Indeed I'm mistaken; this only happens when the target JS version is old enough not to support that.