TypeScript is a superset of JavaScript that adds static typing, decorators, enums and enough opinions to keep larger teams from spiraling into duck-typed chaos.
It was originally developed and is still largely maintained by Microsoft, but its reach extends well beyond the browser: tooling maturity, strong editor support and incremental adoption make it a safe upgrade path for existing JavaScript codebases.
Tooling
TypeScript’s success is also due to runtimes that take it seriously. Deno treats it as a first-class citizen, and newer entrants like Bun ship integrated transpilation plus batteries such as SQLite bindings, test runners and bundlers. Even if you dislike the syntax (I mostly do), you can still benefit from the type checker while targeting plain JavaScript for deployment.
Notes
When I dabble in TypeScript it is usually to build tooling or utility scripts where strong typing keeps refactors honest. The language is still verbose compared to more expressive options, but I can live with that.