Помогите решить задачу
Добрый день! Кто может помочь решить 2 задачи, самому не понять, используя try catch
1. Функция calculateDiscount должна выбрасывать ошибку, если её аргументы не числа. export function calculateDiscount(price, percent) { return (price / 100) * percent; } 2. Функция getMarketingPrice не должна выбрасывать ошибку, если в структуре товара нет информации про цены. export function getMarketingPrice(product) { const productObject = JSON.parse(product); return productObject.prices.marketingPrice; } код автотестов import { calculateDiscount, getMarketingPrice, getAvatarUrl } from './index'; test('calculateDiscount', () => { expect(calculateDiscount(1000, 10)).toBe(100); expect(() => { calculateDiscount('1000', '10'); }).toThrow(); expect(() => { calculateDiscount('1000', '10'); }).toThrowError(TypeError); }); test('getMarketingPrice', () => { expect(() => { getMarketingPrice('{ "name": "Product" }'); }).not.toThrow(); expect(getMarketingPrice('{ "name": "Product" }')).toBeNull(); expect(getMarketingPrice('{ "name": "Product", "prices": { "marketingPrice": 1200 } }')).toBe(1200); }); Заранее всем благодарен за помощь!!! |
Проверить тип переменной можно с помощью оператора typeof.
Проверить наличие свойства в объекте можно с помощью оператора in (перед проверкой убедитесь, что имеете именно объект, а не null или undefined). Сравнить значения можно с помощью оператора проверки на равенство. Задать условия можно с помощью if...else. Выбросить исключения можно с помощью throw. В качестве исключения вы можете выбросить экземпляр класса Error. Не благодарите. |
Часовой пояс GMT +3, время: 15:23. |