जावास्क्रिप्ट ब्रेन टीज़र्स
जावास्क्रिप्ट ब्रेन टीज़र्स
सारांश:
परिचय
पुस्तक «JavaScript Brain Teasers» जो Fr. Kinlan द्वारा लिखी गई है (2019, 200 पेज) — यह सिंटैक्स या फ्रेमवर्क पर कोई सामान्य पाठ्यपुस्तक नहीं है। यह अपरंपरागत पहेली-समस्याओं का एक संग्रह है जो आपको JavaScript की परिचित संरचनाओं को एक नए नजरिए से देखने पर मजबूर करेगा। LeetCode की क्लासिक समस्याओं के विपरीत, यहाँ भाषा की बारीकियों, क्लोजर के अस्पष्ट व्यवहार, प्रोटोटाइप, एसिंक्रोनसिटी और this संदर्भ पर जोर दिया गया है। यह पुस्तक Node.js रनटाइम वातावरण के लिए लिखी गई है, लेकिन सभी उदाहरण किसी भी आधुनिक ब्राउज़र में आसानी से दोहराए जा सकते हैं।
पुस्तक किस बारे में है
«JavaScript Brain Teasers» में 50 (या लगभग) सावधानीपूर्वक चुनी गई पहेलियाँ हैं। प्रत्येक समस्या कोड के एक छोटे टुकड़े के रूप में प्रस्तुत की जाती है, जिसके बाद पाठक से अनुमान लगाने को कहा जाता है कि कंसोल क्या आउटपुट देगा (या निष्पादन का परिणाम क्या होगा)। इसके बाद एक विस्तृत विश्लेषण होता है: ऐसा क्यों हुआ, भाषा के कौन से तंत्र शामिल थे, और वास्तविक विकास में ऐसे 'आश्चर्यों' से कैसे बचा जाए। विषयों में शामिल हैं:
- टाइप कोएरशन और ढीली समानता (
==बनाम===); - क्लोजर और लेक्सिकल एनवायरनमेंट;
- प्रोटोटाइपल इनहेरिटेंस और प्रोटोटाइप चेन;
- एसिंक्रोनसिटी: कॉलबैक, प्रॉमिस, इवेंट लूप;
thisसंदर्भ और इसके अस्पष्ट बाइंडिंग;- लूप और ब्लॉक में
var,let,constका व्यवहार; - एरे और ऑब्जेक्ट के साथ काम करने के 'नुकसान';
- ऑपरेटरों
typeof,instanceof,deleteकी विशेषताएँ।
यह पुस्तक किसके लिए है
यह पुस्तक अभ्यासरत JavaScript डेवलपर्स के लिए है जो Junior+ और Middle स्तर के हैं। शुरुआती लोगों के लिए जिन्होंने अभी-अभी भाषा सीखना शुरू किया है, यह बहुत कठिन और संभवतः निराशाजनक लगेगी। हालाँकि, जो लोग कम से कम छह महीने से एक साल तक JavaScript में कोड लिख रहे हैं, उन्हें इसमें अपनी समझ को गहरा करने के लिए अमूल्य सामग्री मिलेगी। यह पुस्तक उन लोगों के लिए भी उपयोगी होगी जो तकनीकी साक्षात्कार की तैयारी कर रहे हैं: कई समस्याएँ बड़ी IT कंपनियों के इंटरव्यू में पूछे जाने वाले 'पेचीदा सवालों' से काफी मिलती-जुलती हैं।
पाठक क्या सीखेगा
सभी पहेलियों पर काम करने के बाद, पाठक:
- अंतर्निहित टाइप कोएरशन से डरना बंद कर देगा और इसके परिणामों की भविष्यवाणी करना सीख जाएगा;
- विभिन्न संदर्भों (ग्लोबल, ऑब्जेक्ट मेथड, कंस्ट्रक्टर, एरो फंक्शन) में
thisके काम करने के तंत्र को गहराई से समझेगा; - इवेंट लूप और माइक्रोटास्क कतार के काम करने की बारीकियों में महारत हासिल करेगा;
- वास्तविक समस्याओं को भाषा की 'शोरगुल वाली' विशेषताओं से अलग करना सीखेगा;
- सामान्य जाल से बचते हुए अधिक विश्वसनीय और पूर्वानुमानित कोड लिखने में सक्षम होगा;
- दूसरों के कोड को पढ़ने और छिपी हुई त्रुटियों को खोजने के कौशल को बढ़ाएगा।
मजबूत पक्ष
पुस्तक का मुख्य लाभ इसका प्रारूप है। उबाऊ सिद्धांत के बजाय, आपको एक इंटरैक्टिव अनुभव मिलता है: आप कोड पढ़ते हैं, एक अनुमान लगाते हैं, स्वयं की जाँच करते हैं, स्पष्टीकरण पढ़ते हैं। यह याद रखने के लिए बहुत प्रभावी है। लेखक केवल 'जादू' नहीं दिखाता, बल्कि ECMAScript विनिर्देश का हवाला देते हुए आंतरिक तंत्र की व्याख्या करता है। एक और प्लस इसकी संक्षिप्तता है: बिना किसी फालतू बात के केवल 200 पेज, सिर्फ सार। पुस्तक अच्छी तरह से संरचित है: सरल समस्याओं से कठिन की ओर, गहराई में क्रमिक वृद्धि के साथ। विशेष रूप से उल्लेखनीय है कि सभी उदाहरण आधुनिक ES6+ मानक के लिए प्रासंगिक हैं (हालाँकि पुस्तक 2019 में प्रकाशित हुई थी, मुख्य अवधारणाएँ पुरानी नहीं हुई हैं)।
किसे अनुशंसित किया जाता है
मैं «JavaScript Brain Teasers» की सिफारिश उन सभी को करता हूँ जो 'बस कोड लिखने' के स्तर से 'समझने कि भाषा कैसे काम करती है' के स्तर पर जाना चाहते हैं। यह दिमाग के लिए एक उत्कृष्ट व्यायामशाला है, जिसे आप रुक-रुक कर पढ़ सकते हैं — प्रतिदिन एक या दो समस्याएँ। यह पुस्तक एक डेवलपर सहकर्मी के लिए एक अच्छा उपहार भी होगी जो पहेलियाँ सुलझाना पसंद करता है। यदि आप JavaScript पढ़ाते हैं, तो आप कक्षाओं की शुरुआत में वार्म-अप के रूप में पुस्तक की समस्याओं का उपयोग कर सकते हैं। एकमात्र सीमा: इसे बिल्कुल शुरुआती लोगों को न दें — बेहतर होगा कि पहले किसी क्लासिक पाठ्यपुस्तक (जैसे, 'एक्सप्रेसिव जावास्क्रिप्ट') से मूल बातें सीख लें।