RatiboR1978
@RatiboR1978

Почему выдает «Стоимость доставки», а не «Доставка не требуется» в чем ошибка?

Доброе время суток! Почему выдает "Стоимость доставки", а не "Доставка не требуется" в чем ошибка?

function shippingCost(distance, shipping) {

if (!shipping) {
return 0;
}

switch (distance) {
case 'Луна':
return 150;
case 'Крабовидная туманность':
return 250;
case 'Галактика Туманность Андромеды':
return 550;
case 'Туманность Ориона':
return 600;
case 'Звезда смерти':
return 'договорная цена';
default:
return NaN;
}
}

let deliveryPrice = shippingCost('Крабовидная туманность', false);
console.log(deliveryPrice);

switch (deliveryPrice) {
case (deliveryPrice === 0):
console.log('Доставка не требуется');
break;
case (deliveryPrice):
console.log(`Стоимость доставки: ${deliveryPrice} Q`);
break;
default:
console.log('Ошибка при расчете стоимости доставки');
}
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
alvvi
@alvvi
export default apathy;
Синтаксическая ошибка ведь, deliveryPrice === 0 заменить на 0.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@hufawoso
Потому что в первом случае switch сравнивает deliveryPrice с deliveryPrice === 0, т.е. 0 и true.
А во втором сравнивает deliveryPrice c самим собой.
Почитайте как работает эта конструкция.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы