ES6 ने template strings को बैकटिक्स `
द्वारा सीमित किया।बैकटिक्स के लिए स्ट्रिंग डिलीमीटर बदलना: संभावित प्रभाव?
जो मामलों बैकटिक द्वारा एक स्ट्रिंग के आसपास एकल '
या डबल "
उद्धरण की जगह होगी एक अलग परिणाम उत्पन्न करते हैं, या ऐसी ही किसी असुरक्षित हो सकता है?
कोड के अंदर मौजूदा बैकटिक्स से बचने के लिए ऑपरेशन के हिस्से के रूप में किया जाता है।
// before
var message = "Display backtick ` on screen";
// after
var message = `Display backtick \` on screen`;
मैं समझता हूँ कि किसी भी ${...}
युक्त स्ट्रिंग विफल हो जाएगा के रूप में यह (गलत) एक प्लेसहोल्डर के रूप में व्याख्या की जाएगी। क्या कोई अन्य प्रासंगिक पैटर्न हैं?
संदर्भ: यह development of a JS compression tool के लिए है जो स्वचालित रूप से इनपुट कोड को संसाधित करता है। उत्तरार्द्ध, और इसमें मौजूद तार उपयोगकर्ता द्वारा प्रदत्त हैं, इसलिए मेरे पास इसकी सामग्री पर कोई नियंत्रण नहीं है। केवल एक ही धारणा यह है कि यह वैध जावास्क्रिप्ट है।
निष्पादन पर्यावरण किसी भी हालिया ब्राउज़र या Node.js. द्वारा कर सकते हैं
इस तरह कुछ के बारे में क्या: var message = "हैलो, मैं माइक हूं, आपसे मिलकर अच्छा लगा"। क्या यह \ 'हैलो, मैं माइक माइक के रूप में बाहर आऊंगा, यह आपसे मिलकर अच्छा लगा \'? –
@ सरीराहल ओपी ने * स्ट्रिंग * के चारों ओर कोट्स को बदलने के बारे में पूछा। –
क्या मैं सुझाव दे सकता हूं कि आप खोज-और-प्रतिस्थापन के साथ ऐसा करने के बारे में सोचने के बजाय, प्रसंस्करण कोड के लिए एक पार्सर का उपयोग करें? http://esprima.org/ में आपकी सभी सुविधाएं होनी चाहिए। – Tomalak