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. 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