Suggest an editImprove this articleRefine the answer for “What is TypeScript?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)**TypeScript** is a superset (or *extension*) of the JavaScript language that adds a **static typing** system and a number of features that simplify development of large projects. **Key point:** TypeScript lets you define data types before the program runs, which helps catch errors at compile time rather than at runtime.Shown above the full answer for quick recall.Answer (EN)Image**TypeScript** is a superset (or *extension*) of the JavaScript language that adds a **static typing** system and a number of features that simplify development of large projects. --- ### Core idea TypeScript lets you **define data types** (for example, `string`, `number`, `boolean`, `object`, `array`, `function`, etc.) before the program runs. This helps catch errors **at compile time**, rather than at runtime. ```javascript function greet(name: string): string { return `Hello, ${name}!`; } greet('Tim'); // correct greet(123); // compile error: string expected ``` --- ### How it works - TypeScript code (.ts) is **transpiled** into regular JavaScript (.js). - The `tsc` compiler checks types and converts the code into standard JavaScript that can run in the browser or Node.js. --- ### Key benefits 1. **Early error detection** - the IDE and compiler point out where types are violated. 2. **Smarter autocomplete** - editors like VSCode understand the code structure better. 3. **Support for modern JS features** - TypeScript compiles down to older JavaScript versions when needed. 4. **Better API design** - types help document interfaces and classes. 5. **JavaScript compatibility** - any JS code is valid TypeScript. --- ### Key features - Interfaces (`interface`) - Generics - Modules and namespaces - Enumerations (`enum`) - Decorators - Union (`|`) and intersection (`&`) types - Type narrowing - Utility types (`Partial`, `Pick`, `Record`, etc.) --- ### Comprehensive usage example ```javascript interface User { id: number; name: string; isAdmin?: boolean; // optional field } function printUser(user: User): void { const role = user.isAdmin ? 'admin' : 'user'; console.log(`${user.name} - ${role}`); } const user: User = { id: 1, name: 'Tim' }; printUser(user); ``` --- ### Summary > **TypeScript** is a tool for improving the reliability and convenience of JavaScript development. > It makes code **predictable, safe, and self-documenting**, especially in large projects.For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.