Настройка окружения и простые задачи
Цель: подготовить окружение для последующих работ и попробовать типизировать простые функции.
Порядок выполнения лабораторной работы:
- Установить Node.js.
- Принять задание на Github Classroom и клонировать ваш репозиторий.
- Инициализировать проект в node.
- Установить TypeScript.
- Создать файл конфигурации для tsc.
- Сконфигурировать проект для работы с ES модулями.
- Исходный код будет в папке src, а скомпилированные файлы должны попадать в папку dist.
- Отключите компиляцию js файлов, если будут обнаружены какие-либо ошибки проверки типов.
- Включите создание .d.ts файлов.
- Установите и настройте ESLint c поддержкой TS.
- Подготовьте репозиторий под будущие коммиты.
- В папке src вы создаете два файла, в одном реализуете функции для решения задач и экспортируете их, в другом - импортируете их и делаете несколько вызовов каждой функции с выводом результата в консоль, чтобы убедиться в корректности решения.
- Зафиксировать результаты работы с помощью системы контроля версий git в репозиторий на github.
- Отправить коммиты на ваш репозиторий в Classroom.
Требования
- Все задачи имеют решение и требуемый в них вывод.
- Код компилируется и нет замечаний от ESLint.
Результат выполнения
Код удовлетворяющий требованиям сохраненный в коммите на удаленном репозитории.
Источники для занятия
Основные источники по TS
- The TypeScript Handbook
- Справочник Typescript (не последняя версия)
- Серия статей Изучение TypeScript
- Курс TypeScript
Задачи
Задача Время прибытия
Дается два числа: час прибытия по расписанию и количество часов опоздания, рассчитайте новое значение прибытия.
Время прибытия по расписанию и новое указывается в 24-часовом формате. 24 час записывается как 0 (22 + 2 = 0)
Задача Подпись
Дается строка с фамилией именем и отчеством, верните инициалы с фамилией.
Задача Длина слова
Дается строка состоящая из слов и пробелов, верните длину последнего слова в строке.
Задача Контраст яркости
Дается два неотрицательных значения яркости (первое всегда больше или равно второму), рассчитайте положительный контраст. Формула luminance contrast.
Задача Скобки
Дается строка содержащая только символы ’(’, ’)’, ’{’, ’}’, ’[’ и ’]’, определите, валидна ли она.
Входная строка валидна, если:
- Открытые скобки должны быть закрыты скобками того же типа.
- Открытые скобки должны закрываться в правильном порядке.
- Каждой закрывающейся скобке соответствует открытая скобка того же типа.
Вопросы для защиты
- За что отвечает одна из использованных настроек компилятора, какие там есть варианты и в чем разница?
- Что можно увидеть в файлах .d.ts?