TypeScript is a superset of JavaScript that primarily provides optional static typing, classes and interfaces. It allows IDEs to provide richer coding environments through features like type checking and code completion. TypeScript code is compiled to JavaScript that runs in browsers. It is open source and designed by Anders Hejlsberg at Microsoft to provide object-oriented capabilities to JavaScript. TypeScript supports features like classes, interfaces, static typing, and modules.