अध्याय १

परिचय

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

कम्प्यूटर भनेको हाम्रो खोपडी जस्तै नै हो, र यसमा प्रयोग हुने विशेष चिप, “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) एक पुरानो तर प्रभावशाली प्रोग्रामिङ भाषा हो जुन टेक्नोलोजीको लगभग हरेक भागमा प्रयोग गरिन्छ।

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

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

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

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

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

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

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

कोड, र यो सँग के गर्ने

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

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

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

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

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

console.log(txt);

// Result: txt = '45491625'

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

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