एचएमबी क्या है? Javaस्क्रिप्ट? हेलो वर्ल्ड उदाहरण के साथ परिचय
⚡ स्मार्ट सारांश
Javaस्क्रिप्ट एक प्रोग्रामिंग भाषा है जो वेब पेजों को इंटरैक्टिव बनाती है। यह परिचय बताता है कि स्क्रिप्ट क्या है। Javaस्क्रिप्ट के बारे में, यह कहां से आई, ब्राउज़र और नोड.जेएस इसे कैसे निष्पादित करते हैं, और पहली हेलो वर्ल्ड स्क्रिप्ट को कैसे लिखें और चलाएं।

एचएमबी क्या है? Javaलिखी हुई कहानी?
Javaस्क्रिप्ट एक उच्च-स्तरीय प्रोग्रामिंग भाषा है जो वेब पेजों में व्यवहार जोड़ती है। यह वेब की तीन मुख्य तकनीकों में से एक है: HTML संरचना प्रदान करता है, CSS दिखावट प्रदान करता है, और स्क्रिप्टिंग वेब पेजों को व्यवहारिक रूप देती है। Javaस्क्रिप्ट इंटरैक्शन प्रदान करती है। हर बार जब सर्च बॉक्स टाइप करते समय सुझाव दिखाता है, फोटो कैरोसेल स्लाइड करता है, या साइन-अप फॉर्म आपको किसी छूटे हुए फ़ील्ड के बारे में चेतावनी देता है, Javaस्क्रिप्ट बैकग्राउंड में वह काम कर रही है।
नीचे दिया गया आरेख दर्शाता है कि एक स्क्रिप्ट एक सामान्य वेब पेज के मार्कअप के साथ कैसे मौजूद होती है।
अपने जीवन के अधिकांश समय तक Javaस्क्रिप्ट को क्लाइंट-साइड स्क्रिप्टिंग भाषा के रूप में वर्णित किया गया था, क्योंकि यह केवल ब्राउज़र के अंदर चलती थी। यह वर्णन अब अधूरा है। 2009 में Node.js के आने के बाद से, इसी भाषा ने वेब सर्वर, कमांड लाइन यूटिलिटीज, डेस्कटॉप एप्लिकेशन और मोबाइल ऐप्स को भी शक्ति प्रदान की है। आज इसका अधिक सटीक वर्णन यह है कि Javaस्क्रिप्ट एक सामान्य प्रयोजन वाली भाषा है जिसकी ब्राउज़र में असाधारण रूप से मजबूत उपस्थिति है।
भाषा को परिभाषित करने वाली विशेषताएं इस प्रकार हैं:
- गतिशील रूप से टाइप किया गया: एक वेरिएबल में अभी एक संख्या हो सकती है और कुछ ही क्षण बाद एक स्ट्रिंग हो सकती है, इसलिए प्रोग्राम चलने के दौरान प्रकारों की जांच की जाती है।
- व्याख्या की गई और समय पर संकलित किया गया: Chrome में V8 और Node.js जैसे इंजन, गति बढ़ाने के लिए बार-बार निष्पादित होने वाले कोड को मशीन कोड में संकलित करते हैं।
- बहु-प्रतिमान: अनिवार्य, कार्यात्मक और ऑब्जेक्ट-ओरिएंटेड शैलियाँ सभी समर्थित हैं।
- घटना संचालित की गई: कोड क्लिक, कीस्ट्रोक, टाइमर और नेटवर्क प्रतिक्रियाओं पर प्रतिक्रिया करता है, न कि ऊपर से नीचे तक चलता है और रुक जाता है।ping.
- इवेंट लूप के साथ सिंगल थ्रेडेड: नेटवर्क कॉल जैसे धीमे कार्यों को पेज फ्रीज करने के बजाय कतार में डाल दिया जाता है।
💡टिप: Javaस्क्रिप्ट और ECMAScript प्रतिस्पर्धी भाषाएँ नहीं हैं। ECMAScript लिखित विनिर्देश है, और Javaस्क्रिप्ट उस विनिर्देश का कार्यान्वयन है जिसे ब्राउज़र और Node.js वास्तव में प्रदान करते हैं।
का इतिहास Javaलिपि
ब्रेंडन आइच ने बनाया Java1995 में नेटस्केप कम्युनिकेशंस में स्क्रिप्ट पर काम करते हुए, लगभग दस दिनों में पहला कार्यशील प्रोटोटाइप तैयार किया गया। आंतरिक रूप से इस परियोजना को कहा जाता था कहवाइसे नेटस्केप नेविगेटर 2.0 बीटा में शामिल किया गया था। लाइवस्क्रिप्ट सितंबर 1995 में, इसका नाम बदल दिया गया। Javaलिपि दिसंबर 1995 में नेटस्केप और सन माइक्रोसिस्टम्स के बीच एक विपणन समझौते के हिस्से के रूप में, जो कंपनी नेटस्केप की मालिक थी, Java उन दिनों।
नाम बदलने की वजह से ही कई शुरुआती लोग अब भी यही धारणा रखते हैं। Javaस्क्रिप्ट एक हल्का संस्करण है Javaये दोनों भाषाएँ डिज़ाइन, स्वामित्व और रनटाइम के मामले में एक दूसरे से असंबंधित हैं। नेटस्केप ने 1996 में ईसीएमए इंटरनेशनल को यह भाषा प्रस्तुत की थी, और ईसीएमए-262 मानक का पहला संस्करण जून 1997 में प्रकाशित हुआ था। नीचे दी गई तालिका पुराने कोड को पढ़ते समय सबसे महत्वपूर्ण पड़ावों को सूचीबद्ध करती है।
| साल | मील का पत्थर | यह क्यों मायने रखती है |
|---|---|---|
| 1995 | पहले मोचा, फिर लाइवस्क्रिप्ट, फिर Javaलिपि | इस भाषा को नेटस्केप में ब्रेंडन आइच द्वारा बनाया गया है। |
| 1997 | ECMA-262 प्रथम संस्करण | इस भाषा को विक्रेता-तटस्थ लिखित मानक प्राप्त होता है। |
| 2009 | ES5 और Node.js का पहला रिलीज़ | सख्त मोड आ गया है, और Javaस्क्रिप्ट ब्राउज़र से बाहर निकल जाती है। |
| 2015 | ES6 (ECMAScript 2015) | लेट, कॉन्स्ट, एरो फंक्शन, क्लास, मॉड्यूल और प्रॉमिस को जोड़ा गया है। |
| 2016 आगे | वार्षिक ECMAScript संस्करण | छोटी-छोटी फिल्में हर जून में प्रकाशित होती हैं, न कि किसी दुर्लभ बड़े प्रकाशन में। |
वार्षिक रिलीज़ चक्र के कारण, 2015 से पहले लिखा गया कोड आधुनिक कोड से काफी अलग दिखता है। पुराने ट्यूटोरियल का उपयोग करें var हर जगह, जबकि वर्तमान कोड प्राथमिकता देता है let और const कब चरों की घोषणा में Javaलिपि.
एचएमबी क्या है? Javaस्क्रिप्ट का उपयोग किस लिए किया जाता है?
Javaस्क्रिप्टिंग अब केवल छोटे-मोटे पेज ट्रिक्स तक ही सीमित नहीं है। एक ही सिंटैक्स अब चार अलग-अलग जगहों पर दिखाई देता है, यही कारण है कि डेवलपर सर्वेक्षणों में यह लगातार सबसे व्यापक रूप से उपयोग की जाने वाली भाषाओं में से एक है।
| क्षेत्र | क्या Javaस्क्रिप्ट वहां काम करती है | विशिष्ट उपकरण |
|---|---|---|
| ब्राउज़र फ्रंट एंड | यह क्लिक को हैंडल करता है, पेज को रीलोड किए बिना अपडेट करता है, फॉर्म को वैलिडेट करता है और चार्ट बनाता है। | रिएक्ट, वू, एंगुलर, स्वेल्टे |
| सर्वर साइड | यह HTTP अनुरोधों को संभालता है, डेटाबेस से संवाद करता है और REST या GraphQL API बनाता है। | Node.js, Deno, Bun, Express |
| मोबाइल एप्लीकेशन | बनाता है Android और एक ही साझा कोडबेस से आईओएस ऐप्स बनाए जा सकते हैं। | रिएक्ट नेटिव, Ionicसंधारित्र |
| डेस्कटॉप अनुप्रयोग | यह फ़ाइल सिस्टम एक्सेस के साथ एक नेटिव विंडो में वेब इंटरफ़ेस को रैप करता है। | इलेक्ट्रॉन, टॉरी |
| उपकरण और स्वचालन | यह एसेट को बंडल करता है, टेस्ट सूट चलाता है और एंड-टू-एंड टेस्टिंग के लिए ब्राउज़र को संचालित करता है। | वाइट, वेबपैक, जेस्ट, नाटककार |
गेम, डेटा विज़ुअलाइज़ेशन, ब्राउज़र एक्सटेंशन और छोटे हार्डवेयर प्रोजेक्ट भी इस पर निर्भर करते हैं। एक शुरुआती व्यक्ति के लिए इसका व्यावहारिक परिणाम सरल है: आप अभी सिंटेक्स पर जो मेहनत करते हैं, वह बाद में सीधे सर्वर, मोबाइल और टेस्ट ऑटोमेशन में काम आती है। यदि आप इस भाषा को वास्तविक समस्याओं पर लागू होते देखना चाहते हैं, तो कुछ चरणों का अभ्यास करें। व्यावहारिक Javaस्क्रिप्ट कोड के उदाहरण एक बार जब बुनियादी चीजें सहज हो जाएं।
कैसे चलाना है Javaलिखी हुई कहानी?
Javaस्क्रिप्ट अपने आप निष्पादित नहीं होती। इसे एक होस्ट वातावरण की आवश्यकता होती है जिसमें एक Javaलिपि इंजनक्रोम और एज दोनों V8 का उपयोग करते हैं। Firefox स्पाइडरमंकी का उपयोग करता है, और सफारी का उपयोग करता है Javaस्क्रिप्टकोर। जब कोई ब्राउज़र एक एचटीएमएल पेज डाउनलोड करता है और उसमें कोई स्क्रिप्ट पाता है, तो वह उस स्क्रिप्ट को अपने इंजन को सौंप देता है, जो उसे पार्स करता है, कंपाइल करता है और चलाता है।
दूसरा होस्ट वातावरण Node.js है, जो ब्राउज़र के बाहर उसी V8 इंजन को एम्बेड करता है। इस प्रकार एक ही भाषा सर्वर या टर्मिनल पर चलती है। इसका व्यावहारिक लाभ यह है कि Javaस्क्रिप्ट यह है कि हर आधुनिक ब्राउज़र इसका समर्थन करता है। on Windows, लिनक्स, और macOSइसलिए आपको शायद ही कभी इस बात की चिंता करने की ज़रूरत पड़े कि कोई विज़िटर कौन सा ब्राउज़र इस्तेमाल कर रहा है। यह VBScript से एक वास्तविक सुधार है, जो केवल इंटरनेट एक्सप्लोरर में ही काम करता था। Windows और अब इंटरनेट एक्सप्लोरर के साथ-साथ इसे भी अप्रचलित कर दिया गया है।
⚠️ चेतावनी: ब्राउज़र Javaस्क्रिप्ट और नोड.जेएस Javaस्क्रिप्ट कोर भाषा को साझा करती हैं लेकिन आसपास की वस्तुओं को नहीं। document और window ये केवल ब्राउज़र में ही मौजूद होते हैं, और require और फाइल सिस्टम मॉड्यूल केवल Node.js में मौजूद हैं। बिना जांच किए दोनों के बीच कोड कॉपी करने पर रेफरेंस एरर आ जाएगी।
उपकरण जो आपको चाहिए
कोड लिखने के लिए आपको एक टेक्स्ट एडिटर और परिणाम देखने के लिए एक ब्राउज़र की आवश्यकता होगी। Notepad++, Visual Studio Code, Sublime Textऔर कोई भी अन्य एडिटर जिसके साथ आप सहज महसूस करते हैं, काम कर जाएगा, हालांकि सिंटैक्स हाइलाइटिंग और ब्रैकेट मैचिंग वाला एडिटर आपको डिबगिंग में काफी समय बचाएगा। कोई भी मौजूदा ब्राउज़र काम करता है: गूगल क्रोम। Firefox, Microsoft Edgeया Safari। इन दो चीज़ों के अलावा कुछ भी खरीदने या इंस्टॉल करने की ज़रूरत नहीं है।
एक सरल Javaस्क्रिप्ट प्रोग्राम
अगर तुम रख लो JavaHTML दस्तावेज़ के अंदर ही स्क्रिप्ट लिखते समय, सारा कोड एक ओपनिंग के बीच में होना चाहिए। <script> टैग और समापन </script> टैग। इसी तरह ब्राउज़र आपके कोड को आसपास के मार्कअप से अलग पहचानता है। पुराने पेज भी एक टैग सेट करते हैं। type विशेषता, जिसे इस प्रकार लिखा जाता है <script type="text/javascript">जब VBScript जैसी प्रतिद्वंद्वी क्लाइंट-साइड भाषाएँ मौजूद थीं, तब इसकी आवश्यकता थी। आधुनिक पृष्ठों में इसका उपयोग नहीं होता, क्योंकि HTML5 इसे अलग तरह से मानता है। text/javascript डिफ़ॉल्ट के रूप में। नीचे दिए गए दोनों संस्करण कार्यात्मक रूप से समान हैं, और दोनों अभी भी मान्य हैं।
नमस्ते दुनिया उदाहरण
परंपरागत प्रथम प्रोग्राम एक संदेश प्रदर्शित करता है। निम्नलिखित मार्कअप को नामक फ़ाइल में रखें। hello.html और इसे ब्राउज़र में खोलें।
<html>
<head>
<title>My First JavaScript code!!!</title>
<script type="text/javascript">
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
आउटपुट:
A browser dialog box opens containing the text: Hello World!
नोट: type="text/javascript" HTML5 में इसकी आवश्यकता नहीं है। निम्नलिखित कोड बिल्कुल उसी तरह काम करता है।
<html>
<head>
<title>My First JavaScript code!!!</title>
<script>
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
आउटपुट:
A browser dialog box opens containing the text: Hello World!
जब कोई पृष्ठ कुछ पंक्तियों से अधिक लंबा हो जाता है, तो स्क्रिप्ट को अपने अलग फ़ॉर्मेट में ले जाना आवश्यक हो जाता है। .js यह फ़ाइल मार्कअप को पठनीय बनाए रखती है और ब्राउज़र को कोड को कैश करने देती है। इन अंतरों को इस तुलना में विस्तार से बताया गया है। आंतरिक व बाह्य Javaलिपि.
अपनी पहली स्क्रिप्ट कैसे लिखें और चलाएं
इसे क्रियान्वित करने के तीन व्यावहारिक तरीके हैं। Javaस्क्रिप्ट, और एक नौसिखिए को तीनों को आजमाना चाहिए क्योंकि प्रत्येक अलग-अलग स्थिति के लिए उपयुक्त है।
1. ब्राउज़र कंसोल। यह सबसे तेज़ विकल्प है और इसके लिए किसी भी फ़ाइल की आवश्यकता नहीं है। कोई भी वेब पेज खोलें, दबाएँ F12 (या Ctrl+Shift+I पर Windows और लिनक्स में, Cmd+Option+I चालू करें macOS), और चुनें कंसोल टैब दबाएं। एक पंक्ति टाइप करें, एंटर दबाएं, और परिणाम तुरंत दिखाई देगा। यह किसी एक एक्सप्रेशन को टेस्ट करने या किसी फंक्शन के रिटर्न को चेक करने के लिए आदर्श जगह है।
// Type each line into the browser console and press Enter console.log(2 + 2); console.log("Guru" + 99); console.log(Math.max(4, 12, 7)); console.log(typeof "hello");
आउटपुट:
4 Guru99 12 string
दूसरी पंक्ति पर ध्यान दें। स्ट्रिंग में 99 जोड़ने पर “Guru” से स्ट्रिंग “ उत्पन्न होती हैGuru99” त्रुटि नहीं है, क्योंकि Javaस्क्रिप्ट संख्या को स्वचालित रूप से टेक्स्ट में परिवर्तित कर देती है। यह व्यवहार सुविधाजनक है, लेकिन साथ ही यह शुरुआती लोगों द्वारा की जाने वाली त्रुटियों का एक प्रमुख कारण भी है।
2. एक एचटीएमएल फाइल। यह ऊपर दिखाया गया हेलो वर्ल्ड का उदाहरण है। इसका उपयोग तब करें जब कोड को पेज को स्वयं छूना हो, उदाहरण के लिए फॉर्म का मान पढ़ना या किसी एलिमेंट को बदलना।
3. टर्मिनल से Node.js चलाना। Node.js इंस्टॉल करें, कोड को एक फ़ाइल में सेव करें। .js एक्सटेंशन, फिर चलाएँ node first-script.jsकुछ भी प्रदर्शित नहीं होता, इसलिए console.log यह आपका आउटपुट चैनल बन जाता है। जब आप बिना किसी HTML के केवल भाषा की विशेषताओं का अभ्यास करना चाहते हैं, तो यही तरीका अपनाना चाहिए।
// first-script.js const language = "JavaScript"; const createdBy = "Brendan Eich"; const releaseYear = 1995; console.log(language + " was created by " + createdBy + " in " + releaseYear + "."); const usedFor = ["Interactive web pages", "Server apps with Node.js", "Mobile apps"]; usedFor.forEach(function (item, index) { console.log(index + 1 + ". " + item); });
आउटपुट:
JavaScript was created by Brendan Eich in 1995. 1. Interactive web pages 2. Server apps with Node.js 3. Mobile apps
यह छोटा स्क्रिप्ट पहले से ही तीन विचारों का उपयोग करता है जिनसे आपका लगातार सामना होगा: घोषित स्थिरांक const, एक सरणी मानों की एक सूची और एक कॉलबैक फ़ंक्शन को पास किया जाता है forEachउसी लूप को दोबारा लिखने पर for एक बार अध्ययन कर लेने के बाद कथन एक उपयोगी अभ्यास है। लूप में Javaलिपि.
Javaस्क्रिप्ट बनाम Java
ये नाम प्रोग्रामिंग इतिहास की सबसे बड़ी गलती हैं, और इनसे होने वाली उलझन को जल्द से जल्द दूर करना जरूरी है। Javaविशुद्ध विपणन कारणों से 1995 में स्क्रिप्ट का नाम लाइवस्क्रिप्ट से बदलकर स्क्रिप्ट कर दिया गया था, उस समय जब Java वेब पर सबसे ज्यादा चर्चित तकनीक यही थी। इन दोनों भाषाओं को अलग-अलग कंपनियों में, अलग-अलग लोगों द्वारा, अलग-अलग समस्याओं के लिए डिजाइन किया गया था।
| पहलू | Javaलिपि | Java |
|---|---|---|
| द्वारा निर्मित | ब्रेंडन आइच, नेटस्केप में, 1995 | जेम्स गोस्लिंग, सन माइक्रोसिस्टम्स में, 1995 |
| Typing | गतिशील और कमजोर रूप से टाइप किया गया | स्थिर और दृढ़ता से टाइप किया गया |
| इससे संचालित | ब्राउज़र इंजन और नोड.जेएस | RSI Java आभासी मशीन |
| संकलन | इंजन द्वारा रनटाइम पर जस्ट-इन-टाइम कंपाइल किया गया | पहले से ही बाइटकोड में संकलित |
| ऑब्जेक्ट मॉडल | ES6 में क्लास सिंटैक्स के साथ प्रोटोटाइप आधारित। | शुरू से ही कक्षा आधारित |
| दस्तावेज़ विस्तारण | . जे एस | .java फ़ाइल को .class फ़ाइल में कंपाइल किया गया। |
| सामान्य उपयोग | वेब फ्रंट एंड, एपीआई, टूलिंग | एंटरप्राइज बैक एंड्स, Android, बड़ा डेटा |
दोनों भाषाओं में एकमात्र वास्तविक समानता यह है कि दोनों ही C से कर्ली-ब्रेसेस सिंटेक्स उधार लेती हैं। एक भाषा सीखने से दूसरी भाषा नहीं सीखी जा सकती, हालांकि साझा सिंटेक्स के कारण दूसरी भाषा को पढ़ना थोड़ा आसान हो जाता है। यदि कड़ाई से देखा जाए तो...ping आपको आकर्षित करे, TypeScript इसके ऊपर एक स्थिर प्रकार की परत जोड़ता है Javaस्क्रिप्ट को सादे प्रारूप में संकलित करते समय Javaलिपि और अंतरों को इसमें बताया गया है। TypeScript और Javaस्क्रिप्ट तुलना.
बुनियादी चीज़ें व्यवस्थित हो जाने के बाद, अगला स्वाभाविक कदम यह है: इंटरैक्टिव Javaस्क्रिप्ट अभ्यास, तो चर और डेटा प्रकार, द्वारा पीछा सरणियों और छोरों। उसके बाद, वस्तु के उन्मुख Javaलिपि यह बताता है कि ऑब्जेक्ट, प्रोटोटाइप और क्लास एक साथ कैसे काम करते हैं, और स्ट्रिंग स्वरूपण इसमें टेक्स्ट को संभालने के उन तरीकों को शामिल किया गया है जिनका उपयोग आप लगभग हर स्क्रिप्ट में करेंगे।


