J'ai réussi à enlever un caractère au code de Watilin pour arriver à 129 caractères. En déplaçant un pop dans les paramètres de l'autre pop, on peut enlèver une virgule :
p=[];s.replace(/(\d+)|(\+)|(-)|(\*)|\//g,function(_,n,a,b,c){p.push(r=n?+n:(x=p.pop(y=p.pop()),a?x+y:b?x-y:c?x*y:x/y))});return r
Quand une méthode ne prend pas de paramètres, on peut placer du code à la place des paramètres. Le code étant protégé par les parenthèses, il n'est pas nécessaire de mettre une virgule ou un point-virgule. On économise donc un caractère.
Partager