$ sudo teach IT
МОДУЛЬ 1 · УРОК 1

Как проходить этот курс

Прежде чем писать первую строчку кода — давайте поговорим о самом важном: как устроен этот курс, как работать с платформой и что нужно делать, чтобы TypeScript стал вашим реальным навыком.

⏱ ~15 минут 🎓 Для новичков 📌 Читать обязательно

🗺️ Как устроен курс

Этот курс — не просто набор статей. Это структурированный путь от нуля до уверенного знания TypeScript. Давайте разберёмся, как всё организовано, чтобы вы всегда понимали, где находитесь и что вас ждёт впереди.

📚
Модуль

Большая тема: «Примитивные типы», «Интерфейсы», «Generics» и т.д. Модули объединяют уроки по смыслу.

📖
Урок

Одна конкретная концепция. Урок объясняет тему с нуля, с примерами и аналогиями. Именно то, что вы сейчас читаете.

✏️
Практика

После каждого урока — квиз и задание на код. Здесь вы проверяете, насколько хорошо поняли материал.

Путь выглядит так: сначала урок (читаем, изучаем, понимаем) → потом практика (проверяем себя, пишем код). Не пропускайте практику — именно там знание превращается в навык.

💡 Совет: Если после прочтения урока что-то кажется непонятным — это нормально. Сначала прочитайте до конца, потом сделайте практику. Часто понимание приходит именно в процессе выполнения заданий.

🚀 Что вас ждёт в этом курсе

Вот краткий обзор пути, который вы пройдёте. Не пугайтесь названий — к каждому модулю вы придёте подготовленными, шаг за шагом.

Модуль 1: Введение в TypeScript

Что такое TypeScript, установка, первые шаги

Модуль 2: Примитивные типы

number, string, boolean, null, undefined, any, unknown

Модуль 3: Переменные и типы данных

const, let, массивы, кортежи, enum, type aliases

Модуль 4: Функции

Типизация параметров, стрелочные функции, callback-типы

Модуль 5: Интерфейсы

interface, необязательные свойства, readonly, extends

Модуль 6: Generics

Обобщённое программирование, утилитарные типы

Модуль 7: Продвинутые типы

Union, intersection, conditional, mapped, indexed access типы

Модуль 8: ООП в TypeScript

Классы, наследование, модификаторы доступа, абстрактные классы

Модуль 9: Модули и пространства имён

export/import, .d.ts, работа с @types

Модуль 10: Асинхронность

Promise, async/await, типизация API

Модуль 11: React + TypeScript

Типизация компонентов, пропсов, хуков, форм

Модуль 12: Инструменты и итоги

ESLint, тестирование, паттерны, roadmap

В конце курса вы будете уверенно писать типизированный код, работать с интерфейсами иgenerics, и быть готовыми к реальным проектам на React + TypeScript.

🤔 Зачем нужен TypeScript, если есть JavaScript?

Отличный вопрос. Давайте разберёмся. JavaScript — замечательный язык, но у него есть одна проблема: он не знает, какой тип данных хранится в переменной, пока программа не начнёт работать.

Представьте, что вы пишете адрес на конверте. Почтальон не знает, отправляете ли вы письмо или посылку. Он несёт конверт, а потом выясняется, что внутри должна была быть посылка. В JavaScript происходит нечто подобное: вы можете случайно передать строку туда, где ожидается число, и узнаете об этом только во время выполнения.

TypeScript решает эту проблему. Он добавляет строгую типизацию — вы указываете, какой тип данных ожидается, и компилятор проверяет это ещё до запуска кода.

// JavaScript — ошибка только во время выполнения
function add(a, b) {
  return a + b;
}
add("5", 3); // "53" — строка + число = конкатенация. Баг!

// TypeScript — ошибка при компиляции
function add(a: number, b: number): number {
  return a + b;
}
add("5", 3); // Ошибка: аргумент типа string не assignable к number

Видите разницу? JavaScript молчапринялошибканый тип и сделал что угодно. TypeScript сразу сказал: «Стоп, здесь ошибка!». Это экономит часы отладки.

💡 Ключевое: TypeScript — это не замена JavaScript, а его надстройка. Весь код TypeScript в итоге превращается в обычный JavaScript. TypeScript — это просто проверка на этапе разработки.

🛠️ Что нужно для начала

Для работы с TypeScript вам понадобится:

  • Node.js — среда выполнения JavaScript (нужна для запуска компилятора)
  • npm — менеджер пакетов (приходит вместе с Node.js)
  • Редактор кода — VS Code (рекомендуется) или любой другой
  • Терминал — для запуска команд

Не волнуйтесь — в следующем уроке мы разберём установку пошагово. Пока просто знайте, что инструменты бесплатные и доступны на любой операционной системе.

🖥️ Как работать с платформой

Несколько практических рекомендаций:

📋 После каждого урока делайте практику

Квизы и задания сразу показывают результат и объяснение. Читайте объяснения, даже если ответили правильно — там часто скрыты дополнительные нюансы.

🔄 Можно возвращаться к урокам

Курс никуда не денется. Если через неделю вы забыли, как работает какой-то тип — просто откройте нужный урок. Использование курса как справочника — нормальная практика.

⏸️ Делайте паузы

Не пытайтесь прочитать всё за один день. Мозг усваивает информацию во время отдыха. Оптимально: 1-2 урока в день с перерывами.

📝 Экспериментируйте

Берите примеры из урока и намеренно меняйте их. Ломайте код, смотрите, что происходит. Это лучший способ понять, как работает каждая конструкция.

⌨️ Главное правило: пишите код руками

Это самое важное, что я могу вам сказать об обучении программированию. Пожалуйста, запомните это и следуйте этому правилу на протяжении всего курса.

🚫 НЕ копируйте код из примеров

Когда вы видите пример кода в уроке — откройте редактор и напечатайте его руками, символ за символом. Это кажется медленным и глупым. На самом деле это работает в десятки раз эффективнее.

Когда вы набираете код вручную, происходят три вещи одновременно:

  • Мышечная память — ваши пальцы запоминают конструкции, и со временем они пишутся автоматически
  • Осознанное чтение — вы читаете код медленно, вникая в каждый символ
  • Опыт отладки — вы неизбежно сталкиваетесь с ошибками и учитесь их исправлять

💡 Правило: Набирайте каждый пример кода руками. Не копируйте. Не вставляйте. Печатайте. Это инвестиция в ваше будущее как программиста.

🎯 Практический совет перед стартом

Прежде чем перейти к следующему уроку, убедитесь, что у вас есть:

  1. Установленный VS Code (или другой редактор)
  2. Установленный Node.js (проверьте: node -v в терминале)
  3. Готовность печатать код руками
  4. Блокнот или документ для заметок

Если что-то из этого не установлено — не переживайте. Следующий урок посвящён установке всего необходимого.

⚠️ Важно: Этот курс рассчитан на тех, кто уже знает основы JavaScript. Если вы новичок в программировании — рекомендуем сначала пройти курс по JavaScript, а затем вернуться к TypeScript.

✅ Итоги урока

  • TypeScript — это JavaScript со строгой типизацией
  • Курс организован по модулям → урокам → практике
  • После каждого урока обязательно делайте практику
  • Пишите код руками, не копируйте
  • Делайте паузы, возвращайтесь к сложным темам
  • Для начала нужен: VS Code, Node.js, готовность учиться

Готовы? Переходите к следующему уроку: Что такое TypeScript →

Проверяем понимание

6 вопросов