TypeScript is a superset of JavaScript that compiles to plain JavaScript code. It introduces additional syntax like interfaces, classes, and modules to JavaScript. TypeScript files use the .ts extension and are compiled to JavaScript using a TypeScript compiler. TypeScript supports basic data types like numbers, strings, booleans, arrays, enums, tuples, and objects. Functions and parameters can be defined with optional types in TypeScript.