javascript - programs - जावास्क्रिप्ट में एक आशय की शाब्दिक असाइनमेंट के बाद अर्धविराम की आवश्यकता है?



javascript pdf (5)

निम्न कोड में एक वस्तु को दिखाया गया है जो कि एक आंशिक सौंपा गया है, लेकिन बाद में कोई अर्धविराम नहीं दिया गया है:

var literal = {
    say: function(msg) { alert(msg); }
}
literal.say("hello world!");

यह कानूनी प्रतीत होता है, और चेतावनी जारी नहीं करता (कम से कम फ़ायरफ़ॉक्स 3 में) क्या यह पूरी तरह से कानूनी है, या जावास्क्रिप्ट का सख्त संस्करण है जहां इसकी अनुमति नहीं है?

मैं भविष्य की संगतता समस्याओं के लिए विशेष रूप से सोच रहा हूं ... मैं "सही" जावास्क्रिप्ट लिखना चाहूंगा, इसलिए यदि तकनीकी रूप से मुझे अर्धविराम का उपयोग करने की आवश्यकता है, तो मैं इसका उपयोग करना चाहूंगा।

https://src-bin.com


Answer #1

अपने जावास्क्रिप्ट को साफ और साफ रखने के लिए JSLint का उपयोग करें

JSLint कहते हैं:

त्रुटि:

वैश्विक ध्वनित: सतर्क 2

लाइन 3 वर्ण 2 में समस्या: लापता अर्द्धविराम

}


Answer #2

तकनीकी रूप से नहीं, जावास्क्रिप्ट में कई स्थितियों में वैकल्पिक रूप से अर्धविराम हैं।

लेकिन, एक सामान्य नियम के रूप में, किसी भी वक्तव्य के अंत में उनका उपयोग करें क्यूं कर? क्योंकि अगर आप कभी भी स्क्रिप्ट को सम्मिलित करना चाहते हैं, तो यह आपको निराशा के अनगिनत घंटे से बचाएगा।

स्वचालित अर्धविराम सम्मिलन दुभाषिया द्वारा किया जाता है, ताकि आप उन्हें चुन सकें अगर आप ऐसा चुनते हैं टिप्पणियों में, किसी ने दावा किया कि

विराम / जारी / फेंक जैसे वक्तव्य के साथ अर्धविराम वैकल्पिक नहीं हैं I

लेकिन यह गलत है वे वैकल्पिक हैं; वास्तव में क्या हो रहा है कि लाइन टर्मिनेटर स्वत: अर्द्धविराम प्रविष्टि को प्रभावित करते हैं; यह एक सूक्ष्म अंतर है

अर्धविराम सम्मिलन पर बाकी का मानक यहां है:

सुविधा के लिए, हालांकि, ऐसे अर्धविरामों को कुछ स्थितियों में स्रोत पाठ से छोड़ा जा सकता है। इन परिस्थितियों को यह कहकर वर्णित किया गया है कि उन स्थितियों में अर्धविरामों को स्रोत कोड टोकन स्ट्रीम में स्वचालित रूप से सम्मिलित किया जाता है


Answer #3

अर्द्ध-बृहदान्त्र आवश्यक नहीं है कुछ लोग हमेशा से लाइनब्रेक पर जावास्क्रिप्ट को करने की अनुमति देने के बजाय अर्द्ध-बृहदान्त्र को खत्म करने के सम्मेलन का पालन करना पसंद करते हैं, लेकिन मुझे यकीन है कि आप किसी भी दिशा की वकालत करने वाले समूह पाएंगे।

यदि आप "सही" जावास्क्रिप्ट लिखना चाहते हैं, तो मैं फ़ायरफ़ॉक्स में javascript.options.strict साथ चीजों का परीक्षण करने का सुझाव देता हूं। javascript.options.strict ( about:config माध्यम से पहुँचा) सही पर सेट है यह सब कुछ नहीं पकड़ सकता, लेकिन यह सुनिश्चित करने में आपकी सहायता करनी चाहिए कि आपका जावास्क्रिप्ट कोड अधिक अनुरूप है।


Answer #4

इस मामले में बयान के अंत में अर्धविराम की कोई आवश्यकता नहीं है। निष्कर्ष एक समान है, लेकिन तर्क रास्ता बंद है।

जावास्क्रिप्ट में "वैकल्पिक" के रूप में अर्धविराम नहीं है इसके बजाए, इसमें स्वत: अर्द्धविराम सम्मिलन के आसपास सख्त नियम हैं। अर्धविराम बयान, continue , या throw जैसे बयान के साथ वैकल्पिक नहीं हैं। अधिक जानकारी के लिए ECMA भाषा विशिष्टता को देखें; विशेष रूप से 11.9.1, स्वचालित अर्धविराम सम्मिलन के नियम


Answer #5

यह मान्य नहीं है (नीचे स्पष्टीकरण देखें) जावास्क्रिप्ट कोड, क्योंकि असाइनमेंट केवल एक नियमित कथन है, इससे कोई भिन्न नहीं है

var foo = "bar";

सेमीकोलन को छोड़ दिया जा सकता है क्योंकि जावास्क्रिप्ट दुभाषियों को वाक्यविन्यास त्रुटियों को ठीक करने के लिए अर्धविराम जोड़ने का प्रयास किया जाता है, लेकिन यह एक अतिरिक्त और अनावश्यक कदम है। मुझे किसी भी सख्त मोड का पता नहीं है, लेकिन मुझे पता है कि स्वचालित पार्सर या कंप्रेसर / ओब्बुस्केटर्स को अर्धविराम की आवश्यकता है

यदि आप सही जावास्क्रिप्ट कोड लिखना चाहते हैं, अर्धविराम लिखें :-)

ECMAscript युक्ति, http://www.ecma-international.org/publications/standards/Ecma-262.htm के अनुसार, अगर लापता अर्द्धविराम स्वचालित रूप से सम्मिलित होते हैं। इससे उन्हें पटकथा लेखक के लिए आवश्यक नहीं होता, लेकिन इसका अर्थ है कि उन्हें दुभाषिए के लिए आवश्यक है। इसका अर्थ है कि मूल प्रश्न का उत्तर 'नहीं' है, लिपि लिखते समय उन्हें जरूरी नहीं है, लेकिन जैसा कि दूसरों के द्वारा बताया गया है, इसे विभिन्न कारणों से अनुशंसित किया जाता है।






javascript