यह साक्षात्कार में पूछा जा सकता है या नहीं पूछा जा सकता है, लेकिन मेरा विश्वास करें, एक बार इसे पढ़ने के बाद आप जेएस शब्दजाल को बेहतर ढंग से समझ पाएंगे। (ब्राउनी एक साक्षात्कार के दौरान इसका उपयोग करने की ओर इशारा करते हैं)।
यह फ्रंटएंड साक्षात्कार प्रश्न श्रृंखला का प्रश्न #3 है। यदि आप अपनी तैयारी को बेहतर बनाना चाहते हैं या सामान्य रूप से अपडेट रहना चाहते हैं, तो फ्रंटएंड कैंप पर प्रतीक्षा सूची में शामिल होने पर विचार करें।
जावास्क्रिप्ट एक एकल-थ्रेडेड, गतिशील रूप से टाइप की गई, व्याख्या की गई प्रोग्रामिंग भाषा है जो ऑब्जेक्ट-ओरिएंटेड, कार्यात्मक और अनिवार्य शैलियों सहित कई प्रतिमानों का समर्थन करती है। इसमें प्रोटोटाइप-आधारित ऑब्जेक्ट ओरिएंटेशन और इवेंट-संचालित आर्किटेक्चर की सुविधा है।
यह जावास्क्रिप्ट की अजीब परिभाषा है। लेकिन प्रत्येक शब्द का क्या अर्थ है? आइए जानें।
जावास्क्रिप्ट एक सिंगल-थ्रेडेड भाषा है जिसका अर्थ है कि इसमें निष्पादन का केवल एक मुख्य थ्रेड है। इसका मतलब यह भी है कि इसमें सिंगल कॉल स्टैक है। जब कोई फ़ंक्शन कॉल किया जाता है, तो इसे कॉल स्टैक के शीर्ष पर जोड़ा जाता है। एक बार जब यह निष्पादित हो जाता है, तो इसे स्टैक से हटा दिया जाता है और नियंत्रण कॉल स्टैक में अगले फ़ंक्शन पर चला जाता है। कार्यों को क्रमिक रूप से निष्पादित करना जावास्क्रिप्ट की प्रकृति के लिए मौलिक है लेकिन यह अतुल्यकालिक संचालन को निष्पादित करने के लिए एपीआई प्रदान करता है (फ़ेच और सेटटाइमआउट कुछ उदाहरण हैं)।
जावास्क्रिप्ट में, वेरिएबल को प्रकारों के साथ स्पष्ट रूप से घोषित नहीं किया जाता है। प्रकार मानों से जुड़े होते हैं न कि चर से, क्योंकि उनका अनुमान रनटाइम पर लगाया जाता है। किसी प्रोग्राम के जीवनचक्र के दौरान प्रकार भी बदल सकते हैं। यह सुविधा JS को लचीला बनाती है लेकिन यह टाइप-संबंधी त्रुटियों के प्रति संवेदनशील हो सकती है। टाइपस्क्रिप्ट जैसे उपकरण विकास के दौरान स्थिर प्रकार जोड़ने में मदद करते हैं लेकिन अंततः इसे जेएस में संकलित किया जाता है।
जावा जैसी संकलित भाषाओं के विपरीत, जावास्क्रिप्ट को निष्पादन से पहले मशीन कोड में संकलित नहीं किया जाता है। इसके बजाय रनटाइम पर कोड को लाइन दर लाइन पढ़ा जाता है, व्याख्या की जाती है और निष्पादित किया जाता है। हालाँकि, प्रदर्शन को बेहतर बनाने के लिए, आधुनिक जावास्क्रिप्ट इंजन जस्ट-इन-टाइम (JIT) संकलन का उपयोग करते हैं जो ऑन-द-फ्लाई कोड के टुकड़ों को संकलित करता है। यह दृष्टिकोण निष्पादन गति में सुधार करता है।
यह प्रोग्रामिंग प्रतिमान कोड को ऑब्जेक्ट में व्यवस्थित करता है, जो कक्षाओं या प्रोटोटाइप के उदाहरण हैं। सिंटैक्टिक शुगर के लिए क्लास कीवर्ड को ES6 में पेश किया गया था। हुड के तहत, जावास्क्रिप्ट में कक्षाएं अभी भी प्रोटोटाइप का उपयोग करती हैं। OOP का यह कार्यान्वयन जावास्क्रिप्ट के लिए अद्वितीय है।
यह एक प्रोग्रामिंग प्रतिमान है जो फ़ंक्शंस के उपयोग पर जोर देकर घोषणात्मक कोड लिखने को बढ़ावा देता है। कुछ प्रमुख अवधारणाएँ हैं:
जावास्क्रिप्ट अपने अन्य प्रतिमानों के साथ-साथ इन कार्यात्मक प्रोग्रामिंग अवधारणाओं का समर्थन करता है, जिससे डेवलपर्स को जहां उपयुक्त हो वहां कार्यात्मक तकनीकों का उपयोग करने की अनुमति मिलती है।
अनिवार्य प्रोग्रामिंग एक प्रतिमान है जहां कोड स्पष्ट रूप से उन चरणों के अनुक्रम का वर्णन करता है जो प्रोग्राम को वांछित स्थिति तक पहुंचने के लिए उठाने होंगे। जावास्क्रिप्ट वेरिएबल्स, लूप्स, कंडीशनल और ऑपरेटर्स जैसे सभी आवश्यक निर्माणों का पूरी तरह से समर्थन करता है जो अनिवार्य कोड लिखने के लिए आवश्यक हैं। यह दृष्टिकोण प्रोग्राम के निष्पादन प्रवाह पर सटीक नियंत्रण की अनुमति देता है। इसका उपयोग अक्सर एल्गोरिदम को लागू करने और जटिल स्थिति परिवर्तनों को प्रबंधित करने के लिए किया जाता है।
जावास्क्रिप्ट एक प्रोटोटाइप-आधारित ऑब्जेक्ट मॉडल का उपयोग करता है, जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का एक रूप है जहां ऑब्जेक्ट प्राथमिक संस्थाएं हैं। वर्ग-आधारित भाषाओं के विपरीत, जावास्क्रिप्ट वंशानुक्रम को लागू करने और वस्तुओं के बीच गुणों और विधियों को साझा करने के लिए प्रोटोटाइप का उपयोग करता है।
जावास्क्रिप्ट में प्रोटोटाइप-आधारित अभिविन्यास के प्रमुख पहलुओं में शामिल हैं:
ऑब्जेक्ट निर्माण: ऑब्जेक्ट को पहले वर्ग को परिभाषित किए बिना सीधे बनाया जा सकता है।
प्रोटोटाइप श्रृंखला: प्रत्येक ऑब्जेक्ट में किसी अन्य ऑब्जेक्ट का एक लिंक होता है जिसे उसका प्रोटोटाइप कहा जाता है। यदि किसी ऑब्जेक्ट पर कोई संपत्ति या विधि नहीं मिलती है, तो जावास्क्रिप्ट इसे प्रोटोटाइप में ढूंढता है, फिर प्रोटोटाइप के प्रोटोटाइप, और इसी तरह।
विरासत: वस्तुएं अपनी प्रोटोटाइप श्रृंखला के माध्यम से अन्य वस्तुओं से गुण और विधियां प्राप्त कर सकती हैं।
यह प्रोटोटाइप-आधारित प्रणाली शक्तिशाली और लचीली ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की अनुमति देती है।
जावास्क्रिप्ट का इवेंट-आधारित आर्किटेक्चर एक प्रोग्रामिंग दृष्टिकोण है जहां प्रोग्राम का प्रवाह उपयोगकर्ता क्रियाओं, सेंसर आउटपुट या अन्य प्रोग्रामों के संदेशों जैसी घटनाओं से निर्धारित होता है। यह इस बात के लिए मौलिक है कि जावास्क्रिप्ट वेब ब्राउज़र के साथ कैसे इंटरैक्ट करता है और अतुल्यकालिक संचालन को संभालता है।
जावास्क्रिप्ट के इवेंट-आधारित आर्किटेक्चर के प्रमुख पहलुओं में शामिल हैं:
ईवेंट श्रोता: फ़ंक्शन जो विशिष्ट घटनाओं के लिए "सुनते हैं" और उन घटनाओं के घटित होने पर निष्पादित होते हैं।
इवेंट लूप: एक सतत प्रक्रिया जो इवेंट की जांच करती है और उनके श्रोताओं को भेजती है।
एसिंक्रोनस प्रोग्रामिंग: मुख्य थ्रेड को अवरुद्ध किए बिना कोड को चलने की अनुमति देता है, जो उत्तरदायी वेब अनुप्रयोगों के लिए महत्वपूर्ण है।
यह आर्किटेक्चर जावास्क्रिप्ट को उपयोगकर्ता इंटरैक्शन, एपीआई कॉल, टाइमर और अन्य अतुल्यकालिक संचालन को कुशलतापूर्वक संभालने में सक्षम बनाता है, जिससे यह इंटरैक्टिव वेब एप्लिकेशन बनाने के लिए उपयुक्त हो जाता है।
ये सभी अवधारणाएं मिलकर जावास्क्रिप्ट को एक बहुमुखी भाषा बनाती हैं जिसका उपयोग वेब, मोबाइल, सर्वर और एआर जैसे विभिन्न प्लेटफार्मों पर किया जा सकता है।
अपने साक्षात्कार के लिए, इस परिभाषा को याद रखें:
जावास्क्रिप्ट एक एकल-थ्रेडेड, गतिशील रूप से टाइप की गई और व्याख्या-संकलित भाषा है। यह एक क्रॉस-प्लेटफ़ॉर्म भाषा है लेकिन इसका उपयोग मुख्य रूप से वेब पर पेजों पर इंटरैक्टिविटी जोड़ने के लिए किया जाता है।
फ्रंटेंड कैंप
जावास्क्रिप्ट से इसका क्या मतलब है एकल थ्रेडेड भाषा
व्याख्याकृत बनाम संकलित प्रोग्रामिंग भाषाएँ
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3