+7 (812) 703-02-02 info@hse.spbstu.ru

FRNT-TS10. Работа со структурами данных на языке TypeScript

Длительность дисциплины: 24 ак.ч.


Аннотация

Курс является продолжением курса "FRNT-JS10. Программирование клиентской части на JavaScript". В рамках курса слушатели знакомятся с языком TypeScript, являющемся современной заменой языка JavaScript, а также изучают работу со стандартными структурами данных с использованием этого языка и использование основных алгоритмов.


Знания и умения, полученные в результате изучения



Содержание дисциплины

Тема 1. Базовые типы

  • Введение
  • Boolean, Number, String, Array
  • Tuple, Enum, Any, Void, null и undefined, Never, Object
  • Приведение типов

Тема 2. Объявление переменных

  • Объявление переменных
  • Деструктуризация массивов, кортежей, объектов

Тема 3. Интерфейсы

  • Введение
  • Опциональные свойства
  • Свойства только для чтения
  • Избыточные проверки принадлежности
  • Функциональные типы
  • Индексные типы
  • Классовые типы
  • Наследование интерфейсов
  • Гибридные типы
  • Наследование классов интерфейсами

Тема 4. Классы

  • Введение    
  • Конструктор
  • Геттеры и сетторы
  • Наследование
  • Модификаторы доступа
  • Статические методы и свойства
  • Дженерики в ООП
  • Абстрактные классы    
  • SOLID

Тема 5. Функции

  • Типизация функций
  • Опциональные параметры
  • Переопределение функций
  • this в функциях
  • Rest параметры и аргументы

Тема 6. Дженерики

  • Использование обобщений в функциях
  • Использование обобщений в классах, методах и свойствах
  • Использование обобщений в интерфейсах
  • Сужение типизации обобщения через лимитирование типов

Тема 7. Продвинутая типизация

  • Программирование на типах

Тема 8. Символы

Тема 9. Модули

  • ES синтаксис
  • CommonJS синтаксис
  • Импорт и экспорт
  • Пространства имен

Тема 10. Декораторы

  • Введение
  • Композиция декораторов
  • Декорирование класса
  • Декорирование метода
  • Декорирование геттера
  • Декорирование свойств
  • Декорирование параметров

Тема 11. Вспомогательные типы

  • Partial
  • Required
  • Readonly
  • Record
  • Pick
  • Omit

Тема 12. Основные настройки компилятора

  • Настройки проверки типов
  • Настройки модулей
  • Настройки вывода

Тема 13. Введение в алгоритмы

  • Сложность алгоритма
  • Оптимизация алгоритма
  • Введение в структуры данных
  • Поиск
  • Сортировка
  • Рекурсия
  • Жадные алгоритмы
  • Динамическое программирование

Тема 14. Практика решения алгоритмических задач