Ошибки случаются, такова жизнь. Но нужно уметь с ними работать. Ваши коллеги разработали форму, которая принимает от пользователя количество покупаемых единиц товара, вас же попросили написать функцию-преобразователь, которая возвращает число - если всё ок, и генерирует ошибку - если ввод не является числом в десятичной системе счисления. Используйте возможности стандартной библиотеки JS для преобразования строки в число.
-
Напишите функцию
parseCount
- Аргументом функции является значение, которое необходимо распарсить.
- Для парсинга воспользуйтесь функцией
Number.parseInt
. - Если результатом парсинга является значение
NaN
, то выбрасывайте исключение с ошибкой "Невалидное значение". - Верните результат парсинга из функции.
-
Напишите функцию
validateCount
- Аргументом функции является значение, которое необходимо распарсить.
- Попробуйте распарсить значение с помощью функции
parseCount
. - Если распарсить удаётся успешно, то возвращайте результат.
- Перехватывайте исключение, которое может выбрасывать функция
parseCount
. - Возвращайте ошибку из функции в случае перехвата исключения.
На этот раз Вася решил сделать онлайн калькулятор геометрических фигур. Помогите Васе сделать калькулятор треугольников, который сможет проверять существование треугольника, а так же считать площадь и периметр.
- Напишите класс
Triangle
- Конструктор класса должен принимать 3 стороны треугольника.
- В случае нарушения правила существования треугольника (сумма двух сторон меньше третьей) выбрасывайте исключение с ошибкой "Треугольник с такими сторонами не существует".
- Метод
getPerimeter
должен возвращать периметр треугольника. - Метод
getArea
должен возвращать площадь треугольника (для подсчёта площади воспользуйтесь формулой Герона). Точность должна вычисляться с точностью до трёх знаков после запятой.
- Напишите функцию
getTriangle
- Аргументами функции являются 3 значения длин сторон.
- Попытайтесь вернуть новый объект треугольника.
- В случае перехвата исключения возвращайте объект с двумя методами
getArea
иgetPerimeter
, которые возвращают строку: "Ошибка! Треугольник не существует".
- браузер;
- редактор кода, например Sublime или Visual Studio Code;
- аккаунт на GitHub (инструкция по регистрации на GitHub);
- система контроля версий Git, установленная локально (инструкция по установке Git).
- запуск всех тестов должен успешно выполнять все тесты:
- Произведите Fork репозитория с задачами (fork необходимо делать перед выполнением каждой домашней работы).
- Перейдите в папку задания
cd ./6.exception-closure
- Откройте файл
task.js
в вашем редакторе кода и выполните задание. - Самостоятельно вызывать функции не требуется, если это не требуется по заданию.
- Откройте файл
index.html
в вашем браузере и с помощью консоли DevTools и убедитесь в правильности выводимых результатов. - Откройте файл
test-runer.html
в вашем браузере и убедитесь, что все тесты выполняются (на вкладке Spec List можно видеть какие тесты выполнились, а какие нет) - Добавьте файл
task.js
в индекс git с помощью командыgit add %file-path%
, где%file-path%
- путь до целевого файла.git add task.js
. - Сделайте коммит, используя команду
git commit -m '%comment%'
, где%comment%
- это произвольный комментарий к вашему коммиту.git commit -m 'first commit variables'
. - Опубликуйте код в репозиторий
homeworks
с помощью командыgit push -u origin main
. - Пришлите ссылку на репозиторий через личный кабинет на сайте Нетологии.
Никаких файлов прикреплять не нужно.
Любые вопросы по решению задач задавайте в чате учебной группы.