I was wondering if there was some way to change the Number
object (or other objects) so that when expressions like 4(3 - 1)
are ran, instead of throwing an error, the result is the same as 4 * (3 - 1)
or 8
. Maybe along the lines of turning numbers into functions? If anyone knows of any methods (other than changing the coding editor directly) I'd appreciate the help.
You can't make primitives callable in JavaScript.
If you want to make an evaluator that allows brackets, make something like
function myEval(text) {
// 123(234)567 => 123 * (234)567
text = text.replaceAll(/(\d) *\(/g, '$1 * (')
// 123(234)567 => 123(234) * 567
text = text.replaceAll(/\) *(\d)/g, ') * $1')
return eval(text)
}