Hacker News new | ask | show | jobs
by nine_k 1295 days ago
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.

1 comments

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.