Js Calculator project

Hi there!
I have recently submit my js calculator. Hope to get little feedback about my code organization, readability and maybe you can find some critical bugs.(http://codepen.io/larkvincer/pen/GWgQmO?editors=0010)

1 Like

I like how clean and straightforward your calculator project is. It looks great! The only observation I have is this:

You could simplify some of your conditionals by using logical operators. For example:

else if (val.innerHTML === "*") {
    var number = Number.parseFloat(disp.innerHTML);
    addOperToStack("*", number, disp, history);
} else if (val.innerHTML === "/") {
    var number = Number.parseFloat(disp.innerHTML);
    addOperToStack("/", number, disp, history);
} else if (val.innerHTML === "+") {
    var number = Number.parseFloat(disp.innerHTML);
    addOperToStack("+", number, disp, history);
}

could be refactored to:

else if (val.innerHTML === "*" || val.innerHTML === "/" || val.innerHTML === "+") {
    var number = Number.parseFloat(disp.innerHTML);
    addOperToStack(val.innerHTML, number, disp, history);
}

Overall, the project looks great! It is way cleaner than mine is. :smile: This approach makes me want to go re-do mine. Hehehehe. Keep up the good work!

Thanks for feedback! You right! I fixed that but in different way)

var operations = ["+", "-", "*", "/"];
....
 else if (operations.indexOf(val.innerHTML) > -1) {
   // minus is forbidden as first symbol
   if (val.innerHTML === "-" && !disp.innerHTML.
     return;
   }
   var number = Number.parseFloat(disp.innerHTML);
   addOperToStack(val.innerHTML, number, disp, history);
 }
1 Like