Skip to main content
TypeScript
  • Download
  • Docs
  • Handbook
  • Community
  • Playground
  • Tools
in En
  • Playground
  • TS Config

    TS Config

  • Examples

    See how TypeScript improves day to day working with JavaScript with minimal additional syntax.

    JavaScript Essentials

    1. Hello World
    2. Objects and Arrays
    3. Functions
    4. Code Flow

    Functions with JavaScript

    1. Generic Functions
    2. Typing Functions
    3. Function Chaining

    Working With Classes

    1. Classes 101
    2. This
    3. Generic Classes
    4. Mixins

    Modern JavaScript

    1. Async Await
    2. Immutability
    3. Import Export
    4. JSDoc Support

    External APIs

    1. TypeScript with Web
    2. TypeScript with React
    3. TypeScript with Deno
    4. TypeScript with Node
    5. TypeScript with WebGL

    Helping with JavaScript

    1. Quick Fixes
    2. Errors

    Explore how TypeScript extends JavaScript to add more safety and tooling.

    Primitives

    1. Any
    2. Literals
    3. Union and Intersection Types
    4. Unknown and Never

    Type Primitives

    1. Tuples
    2. Built-in Utility Types
    3. Nullable Types

    Meta-Types

    1. Conditional Types
    2. Discriminate Types
    3. Indexed Types
    4. Mapped Types

    Language

    1. Soundness
    2. Structural Typing
    3. Type Guards
    4. Type Widening and Narrowing

    Language Extensions

    1. Enums
    2. Nominal Typing
    3. Types vs Interfaces
  • Help
  • Settings

Downloading TypeScript...

  • Version......
    • Run
    • Export
      • Tweet link to Playground
      • Copy as Markdown Issue
      • Copy as Markdown Link
      • Copy as Markdown Link with Preview
      • Open in TypeScript AST Viewer
      • Open in Bug Workbench
      • Open in VSCode TS Playground (alpha)
      • Open in CodeSandbox
      • Open in StackBlitz
    • Share
    • ⇥

    Customize

    Popular Documentation Pages

    • Everyday Types

      All of the common types in TypeScript

    • Creating Types from Types

      Techniques to make more elegant types

    • More on Functions

      How to provide types to functions in JavaScript

    • More on Objects

      How to provide a type shape to JavaScript objects

    • Narrowing

      How TypeScript infers types based on runtime behavior

    • Variable Declarations

      How to create and type JavaScript variables

    • TypeScript in 5 minutes

      An overview of building a TypeScript web app

    • TSConfig Options

      All the configuration options for a project

    • Classes

      How to provide types to JavaScript ES6 classes

    Made with ♥ in Redmond, Boston, SF & Dublin

    Microsoft Logo

    © 2012-2025 Microsoft
    PrivacyTerms of Use

    Using TypeScript

    • Get Started
    • Download
    • Community
    • Playground
    • TSConfig Ref
    • Code Samples
    • Why TypeScript
    • Design

    Community

    • Get Help
    • Blog
    • GitHub Repo
    • Community Chat
    • @TypeScript
    • Mastodon
    • Stack Overflow
    • Web Repo

    MSG