01

TS: начало

Настройка окружения и простые задачи

Цель: подготовить окружение для последующих работ и попробовать типизировать простые функции.

Порядок выполнения лабораторной работы:

  1. Установить Node.js.
  2. Принять задание на Github Classroom и клонировать ваш репозиторий.
  3. Инициализировать проект в node.
  4. Установить TypeScript.
  5. Создать файл конфигурации для tsc.
  6. Сконфигурировать проект для работы с ES модулями.
  7. Исходный код будет в папке src, а скомпилированные файлы должны попадать в папку dist.
  8. Отключите компиляцию js файлов, если будут обнаружены какие-либо ошибки проверки типов.
  9. Включите создание .d.ts файлов.
  10. Установите и настройте ESLint c поддержкой TS.
  11. Подготовьте репозиторий под будущие коммиты.
  12. В папке src вы создаете два файла, в одном реализуете функции для решения задач и экспортируете их, в другом - импортируете их и делаете несколько вызовов каждой функции с выводом результата в консоль, чтобы убедиться в корректности решения.
  13. Зафиксировать результаты работы с помощью системы контроля версий git в репозиторий на github.
  14. Отправить коммиты на ваш репозиторий в Classroom.

Требования

  • Все задачи имеют решение и требуемый в них вывод.
  • Код компилируется и нет замечаний от ESLint.

Результат выполнения

Код удовлетворяющий требованиям сохраненный в коммите на удаленном репозитории.

Источники для занятия

Основные источники по TS

Задачи

Задача Время прибытия

Дается два числа: час прибытия по расписанию и количество часов опоздания, рассчитайте новое значение прибытия.

Время прибытия по расписанию и новое указывается в 24-часовом формате. 24 час записывается как 0 (22 + 2 = 0)

Задача Подпись

Дается строка с фамилией именем и отчеством, верните инициалы с фамилией.

Задача Длина слова

Дается строка состоящая из слов и пробелов, верните длину последнего слова в строке.

Задача Контраст яркости

Дается два неотрицательных значения яркости (первое всегда больше или равно второму), рассчитайте положительный контраст. Формула luminance contrast.

Задача Скобки

Дается строка содержащая только символы ’(’, ’)’, ’{’, ’}’, ’[’ и ’]’, определите, валидна ли она.

Входная строка валидна, если:

  • Открытые скобки должны быть закрыты скобками того же типа.
  • Открытые скобки должны закрываться в правильном порядке.
  • Каждой закрывающейся скобке соответствует открытая скобка того же типа.

Вопросы для защиты

  1. За что отвечает одна из использованных настроек компилятора, какие там есть варианты и в чем разница?
  2. Что можно увидеть в файлах .d.ts?