JavaScript — JS के बारे में आप सभी जानते हैं

Nov 30 2022
जावास्क्रिप्ट में कुछ मूल अवधारणाएँ हैं (जिन्हें JS भी कहा जाता है) जिन्हें सीखना बहुत आवश्यक है। इस ब्लॉग में, मैंने JS की उन महत्वपूर्ण अवधारणाओं का एक संक्षिप्त और टू-द-पॉइंट प्रदर्शन देने की कोशिश की।

जावास्क्रिप्ट में कुछ मूल अवधारणाएँ हैं (जिन्हें JS भी कहा जाता है) जिन्हें सीखना बहुत आवश्यक है। इस ब्लॉग में, मैंने JS की उन महत्वपूर्ण अवधारणाओं का एक संक्षिप्त और टू-द-पॉइंट प्रदर्शन देने की कोशिश की। निश्चित रूप से, उन विषयों को सीखने के बाद, जावास्क्रिप्ट आपके लिए कम अजीब हो जाएगी। तो, बिना किसी और हलचल के! आएँ शुरू करें।

उच्च
अमूर्तता प्रोग्रामिंग में, उच्च अमूर्तता का अर्थ है तुलनात्मक रूप से जटिल भागों को छिपाया जाता है और सरलीकृत भागों को देखा जाता है। उच्च-अमूर्त भाषाओं का सिंटैक्स सी, और जावा जैसी निम्न-स्तरीय भाषाओं की तुलना में आसान है, जो प्रोग्रामर के लिए जावास्क्रिप्ट, पायथन, गो आदि जैसी उच्च-अमूर्त भाषा के साथ काम करना आसान बनाता है।

कचरा संग्रहकर्ता
सी जैसी निम्न-स्तरीय भाषाओं के विपरीत, हमें जावास्क्रिप्ट में मैन्युअल रूप से मेमोरी बनाए रखने की आवश्यकता नहीं है। बल्कि, JavaScript स्वचालित मेमोरी प्रबंधन का उपयोग करती है जिसे Garbage Collection कहा जाता है। मार्क-एंड-स्वीप एल्गोरिथ्म का उपयोग करते हुए, जावास्क्रिप्ट इंजन अप्रयुक्त मेमोरी आवंटन को स्वचालित रूप से एकत्र करता है और फिर उन्हें हटा देता है।

JIT संकलित
JIT (बस समय में) संकलन की मदद से, प्रदर्शन को बेहतर बनाने के लिए प्रोग्राम को निष्पादन समय के दौरान देशी कोड में संकलित किया जाता है। आधुनिक ब्राउज़र जावास्क्रिप्ट कोड को संकलित करने के लिए जेआईटी संकलन का समर्थन करते हैं जो निष्पादन समय को तेज बनाता है।

बहु-प्रतिमान
एक बहु-प्रतिमान भाषा प्रोग्रामर को एक प्रोग्राम को कई तरीकों से डिजाइन करने की अनुमति देती है। जावास्क्रिप्ट वस्तु-उन्मुख प्रोग्रामिंग, प्रक्रियात्मक प्रोग्रामिंग, कार्यात्मक प्रोग्रामिंग आदि का समर्थन करता है।

प्रोटोटाइप-आधारित
स्पष्ट रूप से, जावास्क्रिप्ट एक प्रोटोटाइप-आधारित भाषा है, जिसका अर्थ है कि किसी वस्तु के गुणों और विधियों को सामान्यीकृत वस्तुओं में साझा किया जा सकता है जिन्हें क्लोन और विस्तारित किया जा सकता है। सरल शब्दों में, आप किसी वस्तु के गुणों और विधियों को क्लोन कर सकते हैं और उस नए क्लोन किए गए ऑब्जेक्ट में अतिरिक्त गुण और विधियाँ भी जोड़ सकते हैं।

डायनामिकली टाइप
सिंपल, जावास्क्रिप्ट में एक वेरिएबल के प्रकार को रन टाइम में चेक किया जाता है। उसके लिए, हमें किसी वेरिएबल के डेटा प्रकार को निर्दिष्ट करने की भी आवश्यकता नहीं है। इसके अलावा, इसे लूज़ टाइप्ड लैंग्वेज कहा जाता है क्योंकि निष्पादन समय में डेटा प्रकार भी स्वचालित रूप से बदले जा सकते हैं जिसे टाइप ज़बरदस्ती कहा जाता है। हालाँकि, टाइपस्क्रिप्ट, जावास्क्रिप्ट का एक सुपरसेट, एक वैधानिक रूप से टाइप की गई भाषा है।

सिंगल-थ्रेडेड
जेएस में एक कॉल स्टैक और एक मेमोरी हीप है, जिसका अर्थ है कि निर्देशों को निष्पादित करने के लिए केवल एक थ्रेड (प्रक्रिया) है। स्पष्ट रूप से, जावास्क्रिप्ट में एक समय में केवल एक ही कथन निष्पादित किया जाता है।

एसिंक्रोनस
हालांकि एक एकल-थ्रेडेड भाषा, जावास्क्रिप्ट कॉलबैक कतार और इवेंट लूप की मदद से एसिंक्रोनस रूप से व्यवहार करती है। एसिंक्रोनस स्टेटमेंट कॉलबैक कतार में संग्रहीत होते हैं और ईवेंट लूप द्वारा कॉल किए जाते हैं और उसके बाद सिंक्रोनस ऑपरेशंस निष्पादित होने पर निष्पादित होते हैं।

नॉन-ब्लॉकिंग
नॉन-ब्लॉकिंग आगे के ऑपरेशन के लिए निष्पादन को ब्लॉक नहीं करने की धारणा को संदर्भित करता है। जावास्क्रिप्ट विस्तारित I/O संचालन और HTTPS अनुरोधों को पूरा करने के लिए प्रतीक्षा नहीं करता है। प्रतीक्षा करने के बजाय, यह कॉलबैक कतार में एसिंक्रोनस स्टेटमेंट को स्टोर करता है और बाकी सिंक्रोनस ऑपरेशंस को निष्पादित करता है। यह गैर-अवरुद्ध अवधारणा जावास्क्रिप्ट के अतुल्यकालिक व्यवहार से भी संबंधित है जिसकी हम पहले ही चर्चा कर चुके हैं।

कार्य प्रथम श्रेणी के नागरिक
हैं कार्यों को जावास्क्रिप्ट में प्रथम श्रेणी के नागरिक कहा जाता है। क्योंकि, जावास्क्रिप्ट में, कार्यों को चर के रूप में घोषित किया जा सकता है, किसी अन्य फ़ंक्शन में तर्क के रूप में पारित किया जा सकता है, और किसी फ़ंक्शन से वापस किया जा सकता है। साथ ही, कार्यों को किसी वस्तु की विधि के रूप में सेट किया जा सकता है।

नोट: इस ब्लॉग में, मैंने सिर्फ जावास्क्रिप्ट की सबसे महत्वपूर्ण विशेषताओं और विशेषताओं का अवलोकन करने का प्रयास किया है। अब यह आपका कर्तव्य है कि आप इन उपर्युक्त विषयों के बारे में अधिक जानें।