Soy muy nuevo en JavaScript. He estado tratando de resolver esto, pero nada parece funcionar. los operadores parecen no ser estables. por ejemplo, si resto 6-6, todavía me daría 12, es decir, los operadores solo suman en todas las situaciones.
inp1 = prompt("Enter in a number"); inp1 = Number.parseInt(inp1); let js1 = inp1; op = prompt("Enter an operator"); op = ["+", "-", "*", "/"]; inp2 = prompt("Enter another number"); inp2 = Number.parseInt(inp2); let js2 = inp2; function addition(x, y) { return (x + y); } function subtraction(x, y) { return (x - y); } function multiplication(x, y) { return (x * y); } function division(x, y) { return (x / y); } if (op = "+") { console.log(addition(js1, js1)); } else if (op = "-") { console.log(subtraction(js1, js2)); } else if (op = "*") { console.log(multiplication(js1, js2)); } else if (op = "/") { console.log(division(js1, js2)); } else { console.log("Sorry! An Error has occurred"); }No los está comparando en la declaración if, sino que los está asignando. Lo que buscas es esto:
if(op === "+") { //add } else if(op === "-") { //subtract }También debe buscar en JavaScripts diferentes formas de comparar https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness
primer problema en
op = ["+", "-", "*", "/"];entonces, después de obtener el operador de un usuario, lo asigna a un nuevo valor
y también
if (op = "+") {} else if (op = "-"){}este operador de asignación no es el comparador en lugar de usar
if (op === "+")