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