अध्याय १

परिचय

कम्प्युटर, आजको समयमा सबैले हरेक दिन सुनिरहने र प्रयोग गरी रहने साधन हो। यो विशेष गरी छिटो र सही रुपमा काम गर्न सक्ने क्षमताको करण प्रसिद्ध छ । कतिपय मनिसहरुको लागि त झन कम्प्युटर जीवन जिउने माध्यम नै बनिसकेको छ। यस्को बास्तविक परिचय त त्यति बेला हुन्छ जब हामी यसलाई हामीले सोच्न सक्ने सम्म हरेक ठाउँमा पाउछाैँ। चाहे त्यो अस्पतालको गम्भीर कामको लागी होस या त घरमा मनोरञ्जनात्मक कार्यको लागी होस, यसको जाटिल कार्य र ठूला डाटा प्रक्रिया सेकेन्डमा नै गर्न सक्ने क्षमताले आज कम्प्यूटर हरेक गोजीहरुमा अटाएका छन्। तर यो कम्प्युटर आफैमा कसरी काम गर्छ? के तपाई यो सोच्दै हुनुहुन्छ? यो बुझ्नाको लागी कम्प्यूटरलाई हामी हाम्रो दिमागसँग तुलना गर्न सक्छौ।

कम्प्यूटर भनेको हाम्रो खोपडी जस्तै नै हो, र यसमा प्रयोग हुने विशेष चिप, “Central Chip” भनेको हाम्रो दिमाग जस्तै। यस चिप भित्र बिभिन्न कुराहरु सिकाइको हुन्छ। अझ स्पष्ट रूप भन्नु पर्दा कुनै पनि कामलाई step wise step हल गर्न ट्रेन गरियेको हुन्छ, हाम्रो दिमग जस्तै । हामीलाई पनि त सानो छदा खाना खान सिकाईन्थ्यो, लेख्न सिकाईन्थ्यो र अलि अलि सिकाइएको भरमा नै हामी आफैँ सिक्न खोज्थेम र अझै त्यो कार्य गर्न सिकदै जानथेम। उदाहरणका लागी खाना पकाउने बेला हामीलाई एउटा निश्चित निर्देशन दिएको हुन्छ कि पैला कुकर लिने, अनि त्यसमा पुग्ने गरी चामल हल्ने र त्यस्मा अडकलेर पानी थाप्ने, त्यस पछि ग्यास बालेर कुकर बसाल्ने र पाकी नसकेसम्म सीटी बजाउन दिनुहोस्। तर यसलाइ गर्ने अर्को नी तारिका हुन सक्छ, चमल र पानी ठिक गरेर इलेक्ट्रिक राइस कुकरमा हल्ने र पावर अन गर्दिने। हो येस्तै केही काम गर्ने set of instructions लाई नै हामी कम्प्यूटरको भाषामा प्रोग्राम (Program) भन्छौ ।

यो मध्धे कुनै पनि स्टेप बिग्रियो भने हामीले सोचेको जस्तै मिठो खाना नपक्न, सक्छ। त्यसै गरि program लेख्दा नी कुनै पनि ठाँउमा गल्ती भयो भने हामीले सोचेको जस्तो output न आउन सक्छ । र खानालाइ पनि प्रेसर कुकर र राइस कुकरमा पकाए त्यस्लाई अटोमेटिक या स्वादिलो बनाउन सकिने जस्तै कुनै पनि कम्प्यूटर प्रोग्रामलाई बिभिन्न तारिकाले लेखेर त्यस्को चल्ने गतिलाई बढाउने र त्यो प्रोग्राम चलौने मान्छेलाई अझ सजिलो बनाउने गर्न सकिन्छ। हो खाना पकाउ लग्ने सबै अनुभव कम्प्यूटर प्रोग्राम लेखनमा नि लाग्छ। सानो सानो काम गर्न अल्छी लगने, पकाउदै गर्दा स्वाद बिग्रिए रिस उठ्ने र स्वाद मिलाउने अर्को झनझट हुन तर साही ढंगाले गरे पाकी सक्दा स्वाद को आनन्द लिन छुटै नै मजा भए जस्तै program लेख्दा नी errorहरु फेला पार्न एकदम कठिन र ठकौ लाग्ने काम हुन सक्छ तर जब त्यो program एक छोटी पुरा भएर चल्न थाल्छ, त्यसको आनन्द नै छुटै हुन्छ।

Intro Page

प्रोग्रामलाई एउटा सफ्टवेयरले कम्प्युटरसँग अन्तर्क्रिया गर्ने तरिकाको रूपमा पनि लिन सकिन्छ। जसरी मानिसहरूसँग सञ्चार गर्न धेरै भाषाहरू छन्, कम्प्युटरसँग पनि आफ्नै सञ्चारको लागि विभिन्न भाषाहरू छन्। यस कृत्रिम भाषा जुन कम्प्युटरहरूलाई निर्देशन दिन प्रयोग गरिन्छ त्यसलाई Programming Language भनिन्छ। उदाहरण को लागी BASIC, FORTRAN, Javascript, Python, C, C++, Dart आदि। यी programming language धेरै लामो समयदेखि विकसित हुँदै आएको छ जसले कम्प्यूटर लगाएत मानिसहरूलाई पनि त्यो विशेष भाषा बुझ्न सजिलो बनाइरहेको छ। अहिले त पुराना भाषालाई निकै नै नयाँले प्रतिस्थापन गरिदिएको छ, जुन सिक्न सजिलो हुनुको साथ साथै विभिन्न क्षेत्रमा उपयोग गर्न सकिन्छ। यी सबै पुराना भाषाहरू मध्ये, जाभास्क्रिप्ट (Javascript) एक पुरानो तर प्रभावशाली प्रोग्रामिङ भाषा हो जुन टेक्नोलोजीको लगभग हरेक भागमा प्रयोग गरिन्छ।

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

जाभास्क्रिप्ट (JS) प्रोग्रामिंग भाषा हो जुन वेबपृष्ठहरू, खेलहरू, अनुप्रयोगहरू र सर्भरहरू विकास गर्दा गतिशील अन्तरक्रिया सिर्जना गर्न प्रयोग गरिन्छ। जाभास्क्रिप्ट नेटस्केपमा सुरु भएको थियो । नेटस्केप जुन १९९० को दशकमा विकसित वेब ब्राउजर हो, र आज जाभास्क्रिप्ट सबैभन्दा प्रसिद्ध र प्रयोग गरिएको प्रोग्रामिंग भाषाहरू मध्ये एक हो।

सुरुमा, यो वेबनिर्देशनहरू जीवित बनाउनका लागि सिर्जना गरिएको थियो र ब्राउजरमा मात्र चलाउन सक्षम थियो। अब, यो कुनै पनि उपकरणमा चल्छ जुन जाभास्क्रिप्ट इन्जिनलाई समर्थन गर्दछ। मानक वस्तुहरू जस्तै Array, Date, र Math उपलब्ध छ। साथै अपरेटरहरू, संरचना र बयानहरू नियन्त्रण पनि यसमा गर्नसकिन्छ। क्लाइन्ट-साइड जाभास्क्रिप्टसर्भर-साइड जाभास्क्रिप्ट, मूल जाभास्क्रिप्टको विस्तारित संस्करणहरू हुन्।

  • क्लाइन्ट-साइड जाभास्क्रिप्टले वेब पृष्ठहरू र ब्राउजरहरूको बृद्धि र हेरफेर सक्षम गर्दछ। प्रयोगकर्ता घटनाहरूको प्रतिक्रियाहरू जस्तै माउस क्लिकहरू, फारम इनपुट, र पृष्ठ नेभिगेसन यसका केही उदाहरणहरू हुन्।

  • सर्भर-साइड जाभास्क्रिप्टले सर्भर, डाटाबेस, र फाइल प्रणालीमा पहुँच सक्षम गर्दछ।

जाभास्क्रिप्ट एक व्याख्या गरिएको भाषा हो। जाभास्क्रिप्ट चलाउँदा एक दुभाषियाले प्रत्येक रेखाको व्याख्या गर्दछ र यसलाई चलाउँदछ। आधुनिक ब्राउजरले संकलनका लागि जस्ट इन टाइम (JIT) टेक्नोलोजी प्रयोग गर्दछ, जसले जाभास्क्रिप्टलाई कार्यान्वयन योग्य बाइटकोडमा संकलन गर्दछ।

"लाइभस्क्रिप्ट" जाभास्क्रिप्टलाई दिइएको प्रारम्भिक नाम थियो।

कोड, र यसको साथ के गर्ने

कोड लिखित निर्देशन हो जसले प्रोग्राम बनाउँदछ। यस पुस्तकका धेरै अध्यायहरूमा धेरै कोडहरू छन्, र कसरी प्रोग्राम गर्ने भनेर सिक्ने भागको रूपमा कोड पढ्न र लेख्न महत्त्वपूर्ण छ। तपाईंले उदाहरणहरू तुरुन्तै स्क्यान गर्नुहुँदैन - तिनीहरूलाई ध्यानपूर्वक पढ्नुहोस् र तिनीहरूलाई बुझ्ने प्रयास गर्नुहोस्। यो सुरुमा गाह्रो हुन सक्छ, तर अभ्यासको साथ, तपाईं सुधार हुनेछ। गृहकार्यको लागि पनि त्यस्तै हुन्छ - सुनिश्चित गर्नुहोस् कि तपाईं वास्तवमा तिनीहरूलाई बुझ्नु अघि समाधान लेख्ने प्रयास गर्नुहुन्छ। यो जाभास्क्रिप्ट दुभाषियामा अभ्यासहरूको लागि तपाईंको समाधानहरू चलाउन प्रयास गर्न पनि उपयोगी छ, किनकि यसले तपाईंलाई तपाईंको कोडले सही तरिकाले काम गरिरहेको छ कि छैन भनेर हेर्न अनुमति दिन्छ र तपाईंलाई प्रयोग गर्न र अभ्यासहरू भन्दा बाहिर जान प्रोत्साहित गर्न सक्छ।

टाइपोग्राफिक कन्भेन्सनहरू

यस पुस्तकमा एक मोनोस्पेड फन्टमा लेखिएका पाठले प्रोग्राम को तत्वहरू प्रतिनिधित्व गर्दछ। यो एक स्व-निहित अंश वा नजिकैको प्रोग्रामको अंशको सन्दर्भ हुन सक्छ। एउटा उदाहरण तल देखाइएको छ।

const numbers = [45, 4, 9, 16, 25];
let txt = "";
for (let x in numbers) {
    txt += numbers[x];
}

कहिलेकाँही, प्रोग्राम को अपेक्षित आउटपुट यो पछि लेखिएको हुन्छ, दुई स्ल्याश द्वारा, जस्तै:

console.log(txt);

// Result: txt = '45491625'

परिणाम मिल्दो जुल्दो ""

    कुनै परिणाम मिल्दो जुल्दो छैन ""