Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.03.2022, 15:42
Аспирант
Отправить личное сообщение для TomWalbridge Посмотреть профиль Найти все сообщения от TomWalbridge
 
Регистрация: 24.10.2021
Сообщений: 31

Помогите решить задачу
Добрый день! Кто может помочь решить 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);
});

Заранее всем благодарен за помощь!!!

Последний раз редактировалось TomWalbridge, 06.03.2022 в 15:45.
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2022, 19:17
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Проверить тип переменной можно с помощью оператора typeof.
Проверить наличие свойства в объекте можно с помощью оператора in (перед проверкой убедитесь, что имеете именно объект, а не null или undefined).
Сравнить значения можно с помощью оператора проверки на равенство.
Задать условия можно с помощью if...else.
Выбросить исключения можно с помощью throw.
В качестве исключения вы можете выбросить экземпляр класса Error.

Не благодарите.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить небольшую задачу kseosru Общие вопросы Javascript 1 24.11.2019 17:08
Помогите решить задачу fillika Events/DOM/Window 2 16.05.2019 11:39
Помогите решить задачу. Alex14 Javascript под браузер 2 29.03.2017 12:18
Помогите решить задачу! Vor_tex Общие вопросы Javascript 0 24.06.2016 13:05
Помогите решить задачу vkg Общие вопросы Javascript 1 20.02.2008 11:59