जावास्क्रिप्ट में वेरिएबल को मल्टीलाइन स्ट्रिंग कैसे असाइन करें: शुरुआती लोगों के लिए विवरण
\n\nक्या आपने कभी कोड में लंबा टेक्स्ट लिखा है और सोचा है: "क्या मैं बस Enter दबाकर नई लाइन पर जारी नहीं रख सकता?" यदि आप जावास्क्रिप्ट में नए हैं, तो संभवतः आप पहले ही इसका सामना कर चुके हैं। आप एक वेरिएबल में मल्टीलाइन टेक्स्ट सेव करने की कोशिश करते हैं, और आपको एक सिंटैक्स एरर मिलती है। परिचित लगता है?
\n\nप्रश्न "How can I assign a multiline string literal to a variable?" — Stack Overflow पर सबसे लोकप्रिय प्रश्नों में से एक है। हजारों डेवलपर्स इसका उत्तर खोजते हैं। और कोई आश्चर्य नहीं: मल्टीलाइन स्ट्रिंग्स के साथ काम करना एक बुनियादी बात है जिसे जावास्क्रिप्ट में लिखने वाले प्रत्येक व्यक्ति को सीखना चाहिए।
\n\nइस लेख में, हम केवल एक सूखा उत्तर नहीं देंगे। हम तीन काम करने के तरीकों पर चर्चा करेंगे, वास्तविक जीवन के उदाहरण दिखाएंगे और सुझाव देंगे कि कौन सी विधि चुनें ताकि आपका कोड स्वच्छ, पढ़ने योग्य हो और सिरदर्द का कारण न बने।
\n\nजावास्क्रिप्ट कोट्स में लाइन ब्रेक क्यों पसंद नहीं है?
\n\nआइए पहले मुख्य समस्या को समझते हैं। यदि आप इस तरह लिखने का प्रयास करते हैं:
\n\nlet message = "नमस्ते!\nकैसे हो?\nसब ठीक है?";\nconsole.log(message);\n\n… तो आपको एक एरर मिलेगी SyntaxError: unterminated string literal। क्यों? क्योंकि सामान्य स्ट्रिंग्स (डबल या सिंगल कोट्स में) में, जावास्क्रिप्ट मानता है कि स्ट्रिंग उसी लाइन पर समाप्त होती है जहाँ से शुरू हुई थी। एक भौतिक लाइन ब्रेक स्ट्रिंग को तोड़ देता है।
\n\nलेकिन निराश न हों। इस सीमा को दूर करने के लिए हमारे पास कम से कम तीन तरीके हैं। और उनमें से पहला सबसे आधुनिक और सुविधाजनक है।
\n\nतरीका 1: टेम्पलेट लिटरल्स (Template Literals) — आपका नया सबसे अच्छा दोस्त
\n\nES6 (ECMAScript 2015) से शुरू करके, जावास्क्रिप्ट में टेम्पलेट लिटरल्स आए। ये स्ट्रिंग्स हैं जो बैकटिक्स (` `) में संलग्न होती हैं। और ये मल्टीलाइन समस्या को हमेशा के लिए हल कर देते हैं।
\n\nदेखिए यह कितना आसान है:
\n\nlet multilineString = `यह पहली पंक्ति है।\nयह दूसरी पंक्ति है।\nऔर यह तीसरी पंक्ति है।`;\n\nconsole.log(multilineString);\n// आउटपुट:\n// यह पहली पंक्ति है।\n// यह दूसरी पंक्ति है।\n// और यह तीसरी पंक्ति है।\n\nसब कुछ बॉक्स से बाहर काम करता है। आप बस लाइन ब्रेक के साथ टेक्स्ट लिखते हैं, और जावास्क्रिप्ट उन्हें वैसे ही रखता है। कोई अतिरिक्त वर्ण नहीं, कोई जादू नहीं।
\n\nशुरुआती लोगों के लिए यह सबसे अच्छा विकल्प क्यों है?
\n- \n
- पठनीयता: कोड वैसा ही दिखता है जैसा आपने चाहा था। \n
- इंटरपोलेशन सपोर्ट: आप
${...}के माध्यम से सीधे स्ट्रिंग में वेरिएबल डाल सकते हैं। \n - मानक: सभी आधुनिक ब्राउज़र और Node.js टेम्पलेट लिटरल्स का समर्थन करते हैं। \n
इंटरपोलेशन के साथ उदाहरण:
\n\nlet name = "अन्ना";\nlet greeting = `नमस्ते, ${name}!\nPythonLib में आपका स्वागत है।\nकोड सीखने के लिए आज एक शानदार दिन है।`;\n\nconsole.log(greeting);\n// आउटपुट:\n// नमस्ते, अन्ना!\n// PythonLib में आपका स्वागत है।\n// कोड सीखने के लिए आज एक शानदार दिन है।\n\nयह तरीका इतना सुविधाजनक है कि आधुनिक विकास में इसका उपयोग 90% मामलों में किया जाता है। यदि आप अभी शुरुआत कर रहे हैं — तो इसे याद रखें।
\n\nतरीका 2: स्ट्रिंग कॉन्केटनेशन (पुराना, लेकिन विश्वसनीय तरीका)
\n\nटेम्पलेट लिटरल्स के आने से पहले, डेवलपर्स कॉन्केटनेशन का उपयोग करते थे — + ऑपरेटर के साथ स्ट्रिंग्स को जोड़ना। यह तरीका अभी भी प्रासंगिक है, खासकर यदि आप बहुत पुराने कोड के साथ काम कर रहे हैं या किसी कारण से ES6 का उपयोग नहीं कर सकते हैं।
यह कैसा दिखता है:
\n\nlet multilineString = "यह पहली पंक्ति है।\\n" +\n "यह दूसरी पंक्ति है।\\n" +\n "और यह तीसरी पंक्ति है।";\n\nconsole.log(multilineString);\n// आउटपुट:\n// यह पहली पंक्ति है।\n// यह दूसरी पंक्ति है।\n// और यह तीसरी पंक्ति है।\n\n\\n पर ध्यान दें — यह एक escape-सीक्वेंस है