TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. It adds optional static types, classes, and interfaces to JavaScript to enable scalable application development. TypeScript uses type inference and structural subtyping and works seamlessly with existing JavaScript code and libraries. Type annotations provide compile-time safety while not impacting runtime behavior. TypeScript supports popular module systems and compiles to idiomatic JavaScript that runs on any browser, host, or operating system.