ReorderConstantExpression.java से:
/**
* Reorder constant expression hoping for a better compression.
* ex. x === 0 -> 0 === x
* After reordering, expressions like 0 === x and 0 === y may have higher
* compression together than their original counterparts.
*
*/
के रूप में एक google closure compiler contributor ने कहा, संपीड़न कोड टिप्पणी साधन gzip संपीड़न की बात कर रहे, न कि वास्तविक minification "संपीड़न"। जीजीआईपी संपीड़न में सुधार करने का कारण यह है कि यदि आपके कोड में 0 === x
और x === 0
है, तो क्लोजर कंपाइलर इन दोनों को 0 === x
पर सामान्यीकृत करता है, जो डुप्लिकेट टेक्स्ट है और इस प्रकार बेहतर संपीड़ित होता है।
तो फिर वहाँ भी है:
typeof this.value == "object"
typeof this.key == "object"
अद्वितीय तार कर रहे हैं: typeof this.
, value
, key
और == "object"
लेकिन अगर आप को पुन: व्यवस्थित:
"object" == typeof this.value
"object" == typeof this.key
अद्वितीय तार कर रहे हैं: "object" == typeof this.
, value
और key
। कम अद्वितीय तार और काफी लंबे डुप्लिकेट एक।
Google को योड पसंद है :) –
शायद आप यहां यह पूछने के बेहतर होंगे: https://groups.google.com/forum/?fromgroups#!forum/closure-compiler-discuss –
यदि कोई प्रदर्शन लाभ है , यह कम से कम क्रोम में नगण्य है: http://jsperf.com/yoda –