TypeScript is a superset of JavaScript that compiles to JavaScript. It adds optional static types, classes, and modules to JavaScript to enable scalable application development. TypeScript starts with and compiles to idiomatic JavaScript, so it runs in any browser or host on any OS. The TypeScript type system formalizes JavaScript's dynamic types through static representation and type inference, requiring few type annotations in practice. Classes and modules in TypeScript structure applications clearly and align with emerging ECMAScript standards. The open source TypeScript compiler and tooling like Visual Studio and Resharper support provide full static typing of libraries and source maps.