Калькулятор в js для начинающих

let first = 10;
let last = 5;
let op = '*';

let result = first + op + last;

Браузер отказывается умножать , разделять и тд , мне нужно получить в итоге результат в консоле, не используя Array , а цифры и умножение нужно спрашивать prompt ом 3 раза

** то как я пытался **

 function getCacl()
 {
     let firstValue = '';
     let op = '';
     let lastValue = '';

     if(firstValue == ''){
         let firstValue = prompt("type number")
             if(op == ''){
                 let op = prompt("type event")
                     if(lastValue == ''){
                         let lastValue = prompt("type last number")

                         let result = (parseInt(firstValue) + op + parseInt(lastValue))
                         console.log(result );
                     } 
             }
     }

}


Ответы (2 шт):

Автор решения: Awake

Не понимаю, зачем ты вначале функции инициализируешь переменные пустой строкой, а затем их проверяешь. При каждом вызове функции, твои переменные будут становиться пустыми. Можно сократить код тут. Я, конечно, не Senior JS-dev, но, надеюсь, мой вариант тебе поможет.

function getCacl()
{
    let firstValue = prompt("type number");
    let op = prompt("type event")
    let lastValue = prompt("type last number")
    let result = 0;

    switch(op){
        case '+':
            result = (parseInt(firstValue) + parseInt(lastValue))
            break;
        case '-':
            result = (parseInt(firstValue) - parseInt(lastValue))
            break;
        case '*':
            result = (parseInt(firstValue) * parseInt(lastValue))
            break;
        case '/':
            result = (parseInt(firstValue) / parseInt(lastValue))
            break;
        default:
            result = "Не введено одно из значений!"
            break;
    }
        
    console.log(result);
}
→ Ссылка
Автор решения: ksa

мне нужно получить в итоге результат в консоле, не используя Array , а цифры и умножение нужно спрашивать prompt ом 3 раза

Предложу такой вариант решения...

console.log(getCacl());
//
function getCacl() {
  const o = {
    '+': (a, b) => +a + +b,
    '-': (a, b) => a - b,
    '*': (a, b) => a * b,
    '/': (a, b) => +b ? a / b : 'Деление на 0'
  }
  let firstValue = prompt("type number");
  const op = prompt("type event")
  let lastValue = prompt("type last number")
  return o[op]?.(firstValue, lastValue) ?? "Не введено одно из значений!"
}

→ Ссылка