TypeScript
Надёжный и масштабируемый JavaScript с типами
Изучи TypeScript на основе уже знакомого тебе JavaScript: типы и их вывод, типизированные функции и объекты, объединения и сужение типов, классы, дженерики и служебные типы. Ты увидишь, как компилятор находит ошибки ещё до запуска кода и делает редактор «умнее». К концу курса ты сможешь сам настраивать проекты на TypeScript и писать надёжный код с современными приёмами — `satisfies`, `as const` и файлами объявлений.
Содержание курса
Основы TypeScript
НачальныйУстанови TypeScript, освой базовые типы и вывод типов и научись типизировать функции.
- 1Зачем нужен TypeScript?Узнай, что TypeScript добавляет к JavaScript, как компилятор находит ошибки ещё до запуска кода и как настроить проект с `tsc`, `tsconfig.json` и Node.js.14 мин
- 2Базовые типы и вывод типовПознакомься с `string`, `number`, `boolean`, массивами и кортежами, посмотри, как TypeScript сам выводит типы, и разберись в разнице между `any` и `unknown` и в литеральных типах.15 мин
- 3Типизированные функцииУказывай типы параметров и возвращаемых значений функций, используй необязательные параметры, параметры по умолчанию и rest-параметры, описывай типы функций.15 мин
Описание данных типами
СреднийОписывай объекты интерфейсами и псевдонимами типов, объединяй и сужай типы, пиши типизированные классы.
- 4Интерфейсы и псевдонимы типовОписывай форму объектов с помощью `interface` и `type`, используй необязательные и `readonly`-свойства, расширяй интерфейсы и узнай, когда что выбирать.16 мин
- 5Объединения и сужение типовОбъединяй типы через `|` и `&`, сужай их с помощью `typeof`, `in` и сравнений, строй размеченные объединения и пиши собственные защитники типов.18 мин
- 6Классы и перечисленияДобавляй в классы типизированные поля, управляй доступом через `public`, `private`, `protected` и `readonly`, проверяй соответствие интерфейсу через `implements` и сравни `enum` с объединением литеральных типов.17 мин
Продвинутый TypeScript
ПродвинутыйПиши переиспользуемый код с дженериками и служебными типами, освой строгий режим, `satisfies`, `as const` и файлы объявлений.
- 7Дженерики и служебные типыПиши функции и интерфейсы, которые работают с любым типом и при этом не теряют информацию о типах, ограничивай их через `extends` и `keyof` и создавай новые типы с помощью `Partial`, `Pick`, `Omit`, `Record` и `ReturnType`.18 мин
- 8Современные приёмы и файлы объявленийУзнай, что ловит строгий режим, получай точные типы с помощью `as const` и `satisfies` и типизируй сторонние библиотеки JavaScript файлами объявлений `.d.ts`.20 мин