convert x.toString() to ""+x instead of x+""
authorDan Wolff <dan.d.wolff@gmail.com>
Sun, 11 Nov 2012 13:53:34 +0000 (15:53 +0200)
committerDan Wolff <dan.d.wolff@gmail.com>
Sun, 11 Nov 2012 13:53:34 +0000 (15:53 +0200)
In some places this can save one byte in whitespace, e.g. after return.
Example:

function f(arg) {
        // return""+arg - no space between return and ""
        return arg.toString();
}

lib/compress.js

index 469ee6e..9400b86 100644 (file)
@@ -1413,9 +1413,9 @@ merge(Compressor.prototype, {
             }
             else if (exp instanceof AST_Dot && exp.property == "toString" && self.args.length == 0) {
                 return make_node(AST_Binary, self, {
-                    left: exp.expression,
+                    left: make_node(AST_String, self, { value: "" }),
                     operator: "+",
-                    right: make_node(AST_String, self, { value: "" })
+                    right: exp.expression
                 }).transform(compressor);
             }
         }