पुन: प्रयोज्य टेम्प्लेट लिटरल्स: छिपी हुई क्षमता को उजागर करना
जबकि ES6 में टेम्प्लेट लिटरल्स का व्यापक रूप से उपयोग किया जाता है, धारणा बनी हुई है कि वे हमेशा के लिए बाध्य हैं उनके निर्माण के क्षण में, पुन: उपयोग और गतिशील रूप से अद्यतन करने के लचीलेपन का अभाव था। यह आलेख उस धारणा को चुनौती देता है, टेम्पलेट शाब्दिकों को पुन: प्रयोज्य और गतिशील दस्तावेज़ों में बदलने की संभावना की खोज करता है।
एक पारंपरिक टेम्पलेट का सार रनटाइम पर टोकन इंजेक्ट करने की क्षमता में निहित है, जब भी आवश्यक हो, मूल्यांकन किया जा सकता है। हालाँकि, ES6 टेम्पलेट शाब्दिक घोषणा के समय उनके प्रतिस्थापनों का मूल्यांकन करते प्रतीत होते हैं, जिससे उनकी व्यावहारिकता सीमित हो जाती है।
आवश्यक उत्प्रेरक: फ़ंक्शन कंस्ट्रक्टर
इस स्पष्ट सीमा को दूर करने के लिए, हम फ़ंक्शन कंस्ट्रक्टर को मध्यस्थ के रूप में नियोजित करें। इस निर्माण का उपयोग करके, हम इंटरपोलेशन प्रक्रिया को तब तक स्थगित कर सकते हैं जब तक कि फ़ंक्शन लागू न हो जाए:
const templateString = "Hello ${this.name}!"; const templateVars = { name: "world", }; const fillTemplate = function (templateString, templateVars) { return new Function( "return `" templateString "`;" ).call(templateVars); }; console.log(fillTemplate(templateString, templateVars));
इस उदाहरण में, fillTemplate फ़ंक्शन टेम्प्लेट स्ट्रिंग और इंटरपोल किए जाने वाले वेरिएबल्स के एक सेट को स्वीकार करता है। फ़ंक्शन के भीतर, हम एक फ़ंक्शन का निर्माण करते हैं, जो निष्पादित होने पर, रनटाइम पर इंजेक्ट किए गए टेम्पलेटवर्स से मानों के साथ टेम्पलेट स्ट्रिंग लौटाता है।
पुन: प्रयोज्य टेम्पलेट लिटरल्स के लाभ
परिणामी पुन: प्रयोज्य टेम्पलेट शाब्दिक कई लाभ प्रदान करते हैं:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3