अल्पविराम What does a comma do in JavaScript expressions? में समझाया गया है। मूल रूप से, यह सभी अभिव्यक्तियों का मूल्यांकन करता है, और पिछले एक द्वारा लौटाए गए मूल्य को वापस देता है।
शायद, इसका उपयोग करने का कारण विधि को कॉल करने में सक्षम होना है जैसे कि यह कोई विधि नहीं था।
इस समारोह पर विचार करें:
function f() { return this; }
और यह एक विधि बनाते हैं:
var o = {f: f}
फिर, हालांकि f === o.f
, परिणाम है कि कैसे आप इसे कहते आधार पर भिन्न होगी:
o.f(); // o
f(); // global object (in non-strict mode)
f(); // undefined (in strict mode)
तो बेबेल फ़ंक्शन का संदर्भ प्राप्त करने के लिए अल्पविराम दृष्टिकोण का उपयोग करता है, बिना सहयोग के वस्तु के साथ इसे inging। इस तरह विधि को एक वैश्विक समारोह के रूप में कहा जा सकता है, बिना किसी के।
(0, o.f)(); // global object (in non-strict mode)
(0, o.f)(); // undefined (in strict mode)
@ ओरीओल निष्पक्ष होने के लिए, ओपी यह भी पूछ रहा है कि बेबेल ऐसा क्यों करता है। – royhowie
@ ओरियल रॉयॉई सही है। मैंने अपना प्रश्न संपादित कर लिया है, कृपया डुप्लिकेट चिह्न हटा दें। – borisdiakur
हां, क्षमा करें। मैंने फिर से खोल दिया है और कारण समझाया है। – Oriol