$ node '7*8+9' 65 $ node eval.js '[1,2,3+4*5-(5*11)]' [ 1, 2, -32 ] but if you use statements, undeclared identifiers, or syntax, the result is no longer statically analyzable and evaluate() returns ...