मैं मानता हूं कि मैंने एक सवाल पूछा है कि क्यों क्लोजर कंपाइलर कुछ कोड को छोटा नहीं करता है जो पहले कुछ दिनों पहले पहली बार कम दिखता है, लेकिन यह कारण इस मामले में लागू नहीं है और मुझे सच में यकीन नहीं है कि यह क्यों नहीं है ' यहाँ छोटा नहीं है।क्लोजर कंपाइलर - क्या एक ++> = 3 ++ ए> 3 हो सकता है?
क्या कोड मैं है:
var a = 0;
function b() {
return a++ >= 3;
}
अब पूर्व बढ़ाने और बाद incrementing है। a++
रिटर्न a
और तो यह वेतन वृद्धि, ++a
पहले वेतन वृद्धि a
और तो यह रिटर्न - अंतर वापसी मान है।
क्या यह करने के लिए नीचे आता है कि मेरे कोड (सफेद स्थान को हटाने की अनदेखी) के लिए छोटा किया जा सकता है:
var a = 0;
function b() {
return ++a > 3;
}
हालांकि, बंद संकलक बदल (या पहचान) यह करने के लिए प्रतीत नहीं होता।
मेरा प्रश्न इसलिए है: ++a >
के किन दुष्प्रभाव a++ >=
के बजाय उपयोग किए जाने पर क्या दुष्प्रभाव हो सकते हैं?
आप ऐसा क्यों करना चाहते हैं? मैं नहीं देख सकता कि यह किसी भी तरह से प्रदर्शन में सुधार कैसे करेगा। –
प्रदर्शन की वजह से नहीं, लेकिन कोड की लंबाई के कारण। क्लोजर कंपाइलर व्हाइटस्पेस को हटाकर कोड को छोटा करने के लिए है और बहुत कुछ है, इसलिए 'ए ++> = 3' को' ++ ए> 3' तक छोटा किया जा सकता है। बहुत रोमांचक नहीं है लेकिन मैं बस सोच रहा था। – pimvdb
आपको 2 स्थितियों को पूरा करने की आवश्यकता है और लाभ बहुत कम है इसलिए संभवतः उन्होंने अपना समय बर्बाद नहीं किया है या अधिक महत्वपूर्ण चीजों पर ध्यान केंद्रित नहीं किया है ... – fazo