TS
💻 For developers

TypeScript

Types on top of JavaScript: fewer bugs, better autocomplete

What you'll build
📘A solid foundation
⚡Practice in the browser
🎯Mini-projects
🎓Course certificate
📘 30 lessons⏱ 1-2 evenings🎓 Advanced
🎯 Mission
Master TypeScript
⚡+350XP
🏆CertificatePDF
🎓Course complete
Progress0 / 30 · 0%
Next up: What is TypeScript

Course program

01

Аннотации и вывод типов

0 / 5 lessons
⌄
  1. 01

    What is TypeScript

    JS + types•The tsc compiler•Advantages⚡ +10
    ▶ Now
  2. 02

    Type inference

    Automatic type•Annotation not always needed•When to specify a type⚡ +10
    Open
  3. 03

    Primitives: `string`, `number`, `boolean`

    string strings•number numbers•boolean logic⚡ +10
    Open
  4. 04

    `const` and `let` — the difference

    const doesn’t change•let changes•When to use which⚡ +10
    🔒 Pro
  5. 05

    When to write a type annotation

    Inference is enough•Function parameters•Precise vs redundant⚡ +10
    🔒 Pro
02

Типы функций

0 / 5 lessons
⌄
  1. 06

    Function parameter types

    Parameter annotation•Return type•The void concept⚡ +10
    🔒 Pro
  2. 07

    Optional parameters (`?`)

    The ? sign•Default value•Checking undefined⚡ +10
    🔒 Pro
  3. 08

    Function types and arrow functions

    The => arrow syntax•Function type•A function in a variable⚡ +10
    🔒 Pro
  4. 09

    Passing a function as a parameter (callback)

    A callback function•A function type in a parameter•map/filter example⚡ +10
    🔒 Pro
  5. 10

    Function types — mini project

    A set of functions•A chain of types•A real example⚡ +10
    🔒 Pro
03

Объекты, интерфейсы, type alias

0 / 5 lessons
⌄
  1. 11

    Object type

    Object literal type•Field annotation•Type matching⚡ +10
    🔒 Pro
  2. 12

    `interface` — naming an object type

    interface syntax•Reuse•interface in a function⚡ +10
    🔒 Pro
  3. 13

    `type` alias — a name for a type

    The type keyword•interface vs type•Alias for a primitive⚡ +10
    🔒 Pro
  4. 14

    Optional fields and `readonly`

    The ? field marker•readonly is immutable•A partial object⚡ +10
    🔒 Pro
  5. 15

    Extending an interface (`extends`)

    The extends keyword•Inherited fields•Mini project⚡ +10
    🔒 Pro
04

Массивы, кортежи, enum

0 / 5 lessons
⌄
  1. 16

    Array types (`T[]` and `Array<T>`)

    The T[] notation•Array<T> syntax•Empty array type⚡ +10
    🔒 Pro
  2. 17

    Array methods — `map`, `filter`, `find`

    map transform•filter•find search⚡ +10
    🔒 Pro
  3. 18

    Tuples

    Tuple syntax•Fixed length•Destructuring⚡ +10
    🔒 Pro
  4. 19

    `enum` — a set of named constants

    enum syntax•Numeric enum•String enum⚡ +10
    🔒 Pro
  5. 20

    Arrays and tuples — mini project

    Array of objects•Array of tuples•Using reduce⚡ +10
    🔒 Pro
05

Union, литералы, сужение

0 / 5 lessons
⌄
  1. 21

    Union types (`|`)

    The | pipe•Several types•Union examples⚡ +10
    🔒 Pro
  2. 22

    Literal types

    A specific value type•String literal•Numeric literal⚡ +10
    🔒 Pro
  3. 23

    Narrowing (via `typeof`)

    typeof check•Narrowing via if•Type guard⚡ +10
    🔒 Pro
  4. 24

    Narrowing with the `in` operator

    The in operator•Discriminator field•Union of objects⚡ +10
    🔒 Pro
  5. 25

    Unions and literals — mini project

    Notification system•Union + narrowing•A real example⚡ +10
    🔒 Pro
06

Дженерики и утилитные типы

0 / 5 lessons
⌄
  1. 26

    Generic functions (`<T>`)

    <T> syntax•Type parameter•Reuse⚡ +10
    🔒 Pro
  2. 27

    Generic interfaces and types

    Generic interface•Generic type alias•API response⚡ +10
    🔒 Pro
  3. 28

    The `Partial`, `Required`, `Readonly` utility types

    Partial — optional•Required — mandatory•Readonly⚡ +10
    🔒 Pro
  4. 29

    The `Pick`, `Omit`, `Record` utility types

    Pick — select fields•Omit — exclude fields•Record — key-value⚡ +10
    🔒 Pro
  5. 30

    Generics — mini project (a Stack class)

    Generic Stack•push/pop operations•A typed collection
    Course complete
    🔒 Pro