अर्धविराम हमेशा अनिवार्य नहीं होते हैं, लेकिन मैं हमेशा उनका उपयोग करने की अनुशंसा करता हूं। स्वत: अर्धविराम प्रविष्टि पर नियमों के लिए ECMAScript spec देखें:
कुछ ECMAScript बयान (खाली बयान, चर बयान, अभिव्यक्ति बयान करते-करते हुए बयान, बयान जारी रखने के बयान, वापसी कथन को तोड़ने, और बयान फेंक) सेमीकॉलन के साथ समाप्त होना चाहिए। ऐसे सेमीकॉलन हमेशा स्रोत टेक्स्ट में स्पष्ट रूप से दिखाई दे सकते हैं। सुविधा के लिए, हालांकि, ऐसे अर्धविरामों को कुछ स्थितियों में स्रोत टेक्स्ट से छोड़ा जा सकता है। ये स्थितियां कह रही हैं कि अर्धविराम स्वचालित रूप से में उन स्थितियों में स्रोत कोड टोकन स्ट्रीम में डाले जाते हैं।
अद्यतन (आगे समझाने की)
शायद सबसे आम दिखाने के लिए क्यों स्वचालित अर्धविराम प्रविष्टि बुरा हो सकता है इस्तेमाल किया स्थिति यह है कि एक और जवाब में @sissonb द्वारा पर छुआ है। पर विचार करें निम्नलिखित:
function something(a, b) {
return
a + b;
}
क्या आप उम्मीद कर किया जा सकता है नई लाइन के लिए है पर ध्यान नहीं दिया जाना चाहिए, और कोड के रूप में व्याख्या:
function something(a, b) {
return a + b;
}
दुर्भाग्य से, स्वत: अर्धविराम प्रविष्टि खेलने में आता है, और कोड वास्तव में इस तरह व्याख्या की है:
function something(a, b) {
return;
a + b;
}
और एक खाली return
बयान फ़ंक्शन undefined
का मतलब है। तो दो तर्कों की एक अच्छी राशि के बजाय, आपको undefined
मिलते हैं और संभावित रूप से बहुत भ्रमित हो जाते हैं कि आप कहां गलत हो गए हैं! यही कारण है कि मैं आपके प्रश्न में पूरी तरह से बयान से सहमत हूं कि स्वत: अर्धविराम सम्मिलन एक भयानक दुरूपयोग है।
स्रोत
2011-11-13 01:32:25
देखें: http://stackoverflow.com/questions/7219541/what-is-the-difference-between-semicolons-in-javascript-and-in-python/7219549#7219549 और करने के लिए अन्य उत्तर प्रश्न – NullUserException
आपके दो बयान दोनों अर्धविराम हैं - न तो अलग हैं। – Nightfirecat
@ नाइटफायरकैट - वे मूल रूप से नहीं थे, ऐसा लगता है कि NullUserException के संपादन में सेमी-कोलन को वापस रखा गया है। संपादित करें: लेकिन फिर इसे फिर से हटा दें! –