Считается ли плохим тоном убрать break из switch, если присутствует return?
Можно ли отсюда убрать break? Или это будет "не по канону"?
case "addition":
return $a + $b;
break;
case "subtraction":
return $a - $b;
break;
case "multiplication":
return $a * $b;
break;
Ответы (1 шт):
Автор решения: MoloF
→ Ссылка
Я бы опустил switch и предложил более компактную версию калькулятора
const expressions = {
'+': (a, b) => (a + b),
'-': (a, b) => (a - b),
'*': (a, b) => (a * b),
'/': (a, b) => (a / b),
'^': (a, b) => (Math.pow(a, b))
};
function calculator(a, b, expression) {
if (!expressions.hasOwnProperty(expression))
throw new Error(`Invalid expression - '${expression}'`);
return expressions[expression](a, b);
}
console.log(3, '+', 2, '=', calculator(3, 2, '+'));
console.log(3, '-', 2, '=', calculator(3, 2, '-'));
console.log(3, '*', 2, '=', calculator(3, 2, '*'));
console.log(3, '/', 2, '=', calculator(3, 2, '/'));
console.log(3, '^', 2, '=', calculator(3, 2, '^'));