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.
>Solution :
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)
}