Learn TypeScript
A free, interactive TypeScript course built on top of JavaScript. You write TS on every lesson - type annotations, interfaces, generics, unions, narrowing - with AI hints when you get stuck and a certificate when you finish. Part of the wider JavaScript journey, so the JS context that makes TypeScript click is right there.
253,075+ codders записались
- Для начинающих
Помощь ИИ при написании кода
Практические интерактивные уроки
Аудио-озвучка к каждому уроку
Тесты для проверки знаний
Бесплатный сертификат о прохождении
Программа
Этот раздел - часть путешествия по JavaScript. В полной программе ещё больше разделов - кликни по любому превью ниже, чтобы открыть его на странице путешествия.
- Раздел 1Основы77 уроков
- Раздел 2Логика и поток65 уроков
Раздел 1
Введение в TypeScript
Начать разделНачатьРазвернутьСвернутьВведение в TypeScript после изучения JavaScriptНачало работы с TS
5 уроков232- 01Что такое TypeScript?Квиз
- 02Зачем использовать TypeScript?Квиз
- 03Ваш первый код на TypeScriptЗадачаКвиз
- 04Процесс компиляции и ошибкиКвиз
- 05Итоги: Введение в TSЗадача
Основные типы
7 уроков748- 01Базовые типы: str, num, booleanЗадачаКвиз
- 02Тип 'any': лазейкаЗадачаКвиз
- 03Тип 'unknown'ЗадачаКвиз
- 04Работа с 'null' и 'undef'ЗадачаКвиз
- 05Вывод типов в действииЗадачаКвиз
- 06Явные аннотации типовЗадачаКвиз
- 07Итоги: Практика по основным типамЗадача
Структуры данных: массивы и кортежи
9 уроков862- 01Типизированные массивыЗадачаКвиз
- 02Модификатор 'readonly' для массивовЗадачаКвиз
- 03Что такое кортеж?Квиз
- 04Объявление кортежей и доступ к нимЗадачаКвиз
- 05Деструктуризация кортежейЗадачаКвиз
- 06Кортежи readonlyЗадачаКвиз
- 07Многомерные типизированные массивыЗадачаКвиз
- 08Оператор spread с массивамиЗадачаКвиз
- 09Итоги: массивы и кортежиЗадача
Работа с функциями
8 уроков855- 01Типизация параметров и возвращаемых значенийЗадачаКвиз
- 02Типизация стрелочных функцийЗадачаКвиз
- 03Тип возвращаемого значения 'void'ЗадачаКвиз
- 04Необязательные параметры с '?'ЗадачаКвиз
- 05Значения параметров по умолчаниюЗадачаКвиз
- 06Типизация Rest-параметровЗадачаКвиз
- 07Определение типов функцийЗадачаКвиз
- 08Итоги: Создание типизированных функцийЗадача
Типы: псевдонимы, объединения и пересечения
7 уроков751- 01Псевдонимы типов для примитивовЗадачаКвиз
- 02Типы объединения ('|')ЗадачаКвиз
- 03Работа с типами объединенияЗадачаКвиз
- 04Литеральные типыЗадачаКвиз
- 05Типы пересечения ('&')ЗадачаКвиз
- 06Комбинирование псевдонимов типовЗадачаКвиз
- 07Итоги: продвинутые комбинации типовЗадача
Типизация объектов и интерфейсы
8 уроков757- 01Встроенные аннотации типов объектовЗадачаКвиз
- 02Псевдонимы типов для объектовЗадачаКвиз
- 03Введение в интерфейсыЗадачаКвиз
- 04Интерфейсы против псевдонимов типовКвиз
- 05Необязательные и Readonly свойстваЗадачаКвиз
- 06Расширение интерфейсов и типовЗадачаКвиз
- 07Добавление методов в интерфейсыЗадачаКвиз
- 08Итоги: Определение структуры объектовЗадача
Проект: Простой список задач
Проект6 уроков18- 01Проект: Определение структуры TaskЗадачаКвиз
- 02Функция для добавления задачиПроект
- 03Функция для изменения статуса задачиПроект
- 04Функция: Список задач по статусуПроект
- 05Функция: Печать сводки задачПроект
- 06Собираем всё воединоПроект
Перечисления (Enums)
6 уроков638- 01Что такое числовое перечисление?ЗадачаКвиз
- 02Использование числовых перечисленийЗадачаКвиз
- 03Что такое строковое перечисление?ЗадачаКвиз
- 04Использование строковых перечисленийЗадачаКвиз
- 05Гетерогенные перечисленияЗадачаКвиз
- 06Итоги: использование перечисленийЗадача
Обобщения: первое знакомство
6 уроков537- 01Проблема, которую решают обобщенияКвиз
- 02Создание обобщенной функции IdentityЗадачаКвиз
- 03Использование обобщенной функцииЗадачаКвиз
- 04Обобщенные массивыЗадачаКвиз
- 05Обобщенные интерфейсыЗадачаКвиз
- 06Итоги: практика по обобщенным функциямЗадача
Проект: Управление инвентарем
Проект5 уроков18- 01Проект: Универсальный предмет инвентаряЗадачаКвиз
- 02Функция: Добавление предметов в инвентарьПроект
- 03Функция поиска предмета по IDПроект
- 04Создание специфического типа инвентаряПроект
- 05Функция получения информации о предметеПроект
Продвинутые темы
6 уроков642- 01Утверждения типовЗадачаКвиз
- 02Type Guards: in и instanceofЗадачаКвиз
- 03Тип 'never'ЗадачаКвиз
- 04Nullable-типы ('strictNull')ЗадачаКвиз
- 05Индексные сигнатуры для объектовЗадачаКвиз
- 06Итоги: Тонкая настройка типовЗадача
- Раздел 4Объектно-ориентированное программирование56 уроков
Why learn TypeScript with Coddy
- Write TypeScript in your browser. No
tscinstall, no editor setup, notsconfig.jsonto wrangle. The editor and output sit side-by-side so you see what each type does instantly. - Modern TypeScript: type annotations, interfaces, generics, union and intersection types, narrowing, utility types, and how TS layers on top of plain JavaScript without changing what runs at runtime.
- AI hints help you read TypeScript errors - the famously long ones - without spoiling the fix, so you build the mental model that makes future TS code easier to write.
- Free TypeScript certificate when you finish the section. A credible signal that you can read and write idiomatic TS, not just JavaScript with sprinkled types.
Frequently asked questions about learning TypeScript
What is TypeScript?
TypeScript is a superset of JavaScript that adds optional static typing. Valid JavaScript is valid TypeScript, but TS lets you annotate variables, function parameters, and return values with types - the compiler then catches mistakes before your code runs. At runtime, TypeScript compiles down to plain JavaScript.
Is TypeScript hard to learn?
If you're comfortable with JavaScript, the basics of TypeScript are quick to pick up - adding
: string or : number to a few variables and you're already writing TS. The trickier parts (generics, conditional types, mapped types, narrowing) take longer, and this course introduces them in small steps with hands-on examples.Do I need to know JavaScript before TypeScript?
Yes. TypeScript is JavaScript with types on top, so the language you're really learning is JS. This TypeScript section is part of the JavaScript journey for that reason - you can take the JS sections first, or jump straight to TS if you're already comfortable with modern JavaScript.
What's the difference between TypeScript and JavaScript?
JavaScript is dynamically typed - a variable can hold a string today and a number tomorrow, and you only find out at runtime. TypeScript adds a static type layer that runs at build time, catching type mismatches before the code ships. The compiled output is still plain JavaScript, so it runs anywhere JS does.
Can I learn TypeScript online for free?
Yes. The interactive TypeScript section is free - full lessons, coding exercises, quizzes, and a certificate. The editor runs in your browser with the TS compiler built in, so you don't need to install
tsc, Node, or any tooling to start writing TypeScript.Do I get a certificate after the TypeScript course?
Yes. Finishing the TypeScript section gives you a free certificate of completion you can share on LinkedIn or include on your resume. A verifiable signal that you've worked through structured, hands-on TypeScript material, not just watched tutorials.