CodeDala
Home
Courses
Paths
How it works
Pricing
🌐
KZ
RU
EN
Log in
Start free
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
⚡
+350
XP
🏆
Certificate
PDF
🎓
Course complete
Progress
0 / 30 · 0%
Next up:
Что такое TypeScript
Start the project →
Course program
01
Аннотации и вывод типов
0 / 5 lessons
⌄
01
Что такое TypeScript
JS + типы
•
Компилятор tsc
•
Преимущества
⚡ +10
▶ Now
02
Вывод типа (inference)
Автовывод типа
•
Аннотация не всегда нужна
•
Когда указывать тип
⚡ +10
Open
03
Примитивы: `string`, `number`, `boolean`
string строки
•
number числа
•
boolean логика
⚡ +10
Open
04
`const` и `let` — разница
const не меняется
•
let меняется
•
Когда что использовать
⚡ +10
Open
05
Когда писать аннотацию типа
Inference достаточно
•
Параметры функций
•
Точно vs лишнее
⚡ +10
Open
02
Типы функций
0 / 5 lessons
⌄
06
Типы параметров функции
Аннотация параметра
•
Тип возврата
•
Понятие void
⚡ +10
Open
07
Необязательные параметры (`?`)
Знак ?
•
Значение по умолчанию
•
Проверка undefined
⚡ +10
Open
08
Тип функции — `Function` и стрелочные функции
Синтаксис стрелки =>
•
Тип функции
•
Функция в переменной
⚡ +10
Open
09
Передача функции как параметра (callback)
Функция-коллбэк
•
Тип функции в параметре
•
Пример map/filter
⚡ +10
Open
10
Типы функций — мини-проект
Набор функций
•
Цепочка типов
•
Реальный пример
⚡ +10
Open
03
Объекты, интерфейсы, type alias
0 / 5 lessons
⌄
11
Тип объекта
Тип объект-литерала
•
Аннотация полей
•
Соответствие типа
⚡ +10
Open
12
`interface` — именуем тип объекта
Синтаксис interface
•
Повторное использование
•
Interface в функции
⚡ +10
Open
13
`type` alias — псевдоним типа
Ключевое слово type
•
interface против type
•
Псевдоним примитива
⚡ +10
Open
14
Необязательные поля и `readonly`
Знак ? у поля
•
readonly неизменяем
•
Частичный объект
⚡ +10
Open
15
Расширение интерфейса (`extends`)
Ключевое слово extends
•
Наследование полей
•
Мини-проект
⚡ +10
Open
04
Массивы, кортежи, enum
0 / 5 lessons
⌄
16
Типы массивов (`T[]` и `Array<T>`)
Запись T[]
•
Синтаксис Array<T>
•
Тип пустого массива
⚡ +10
Open
17
Методы массива — `map`, `filter`, `find`
map преобразование
•
filter фильтрация
•
find поиск
⚡ +10
Open
18
Кортежи (Tuple)
Синтаксис tuple
•
Фиксированная длина
•
Деструктуризация
⚡ +10
Open
19
`enum` — именованные константы
Синтаксис enum
•
Числовой enum
•
Строковый enum
⚡ +10
Open
20
Массивы и кортежи — мини-проект
Массив объектов
•
Массив кортежей
•
Применение reduce
⚡ +10
Open
05
Union, литералы, сужение
0 / 5 lessons
⌄
21
Union-типы (`|`)
Вертикальная черта |
•
Несколько типов
•
Примеры union
⚡ +10
Open
22
Литеральные типы
Тип конкретного значения
•
Строковый литерал
•
Числовой литерал
⚡ +10
Open
23
Сужение типа через `typeof`
Проверка typeof
•
Сужение через if
•
Тип-охранник
⚡ +10
Open
24
Сужение через оператор `in`
Оператор in
•
Поле-дискриминатор
•
Union объектов
⚡ +10
Open
25
Union и литералы — мини-проект
Система уведомлений
•
Union + narrowing
•
Реальный пример
⚡ +10
Open
06
Дженерики и утилитные типы
0 / 5 lessons
⌄
26
Обобщённые функции (`<T>`)
Синтаксис <T>
•
Параметр типа
•
Повторное использование
⚡ +10
Open
27
Обобщённые интерфейсы и типы
Generic interface
•
Generic type alias
•
Ответ API
⚡ +10
Open
28
Утилитные типы `Partial`, `Required`, `Readonly`
Partial необязательный
•
Required обязательный
•
Readonly эффективен
⚡ +10
Open
29
Утилитные типы `Pick`, `Omit`, `Record`
Pick выбор полей
•
Omit исключение полей
•
Record ключ-значение
⚡ +10
Open
30
Дженерики — мини-проект (компонент списка)
Generic Stack
•
Операции push pop
•
Типизированная коллекция
🎓
Course complete
Open
TypeScript — online coding course