स्ट्रिंग

आपके सेट के बीच के वर्णों का कोई भी सेट—वर्ण, संख्या, सिंबल वगैरह डबल कोटेशन मार्क ("), सिंगल कोटेशन मार्क (') या बैकटिक (`) एक स्ट्रिंग प्रिमिटिव है. आप पहले ही इसमें स्ट्रिंग के कुछ उदाहरण देख चुके हैं यह कोर्स: पिछले मॉड्यूल में console.log के इंस्टेंस शामिल हैं स्ट्रिंग प्रिमिटिव.

console.log( "Hello, World." );
> Hello, World.

"Hello, World." एक स्ट्रिंग प्राइमिटिव है. एक के साथ आपको वही परिणाम मिलते हैं कोटेशन या बैकटिक:

console.log( 'Hello, World.' );
> Hello, World.

console.log(`Hello, World.`);
> Hello, World.

कोटेशन मार्क के बीच लिखी गई वर्णों की सीरीज़ को स्ट्रिंग लिटरल कहा जाता है. डबल और सिंगल कोट एक जैसे तरीके से काम करते हैं. इनमें से एक कोट में दूसरा कोट हो सकता है स्ट्रिंग में एक वर्ण के रूप में शामिल करें:

console.log( "I'm a string." );
> I'm a string.

console.log( '"A string," I said.' );
> "A string," I said.

स्ट्रिंग में मौजूद, कोटेशन मार्क के एक ही उदाहरण से स्ट्रिंग "बंद" हो जाती है. इससे गड़बड़ियां हो सकती हैं:

console.log( '"I'm a string," I said.' );
> Uncaught SyntaxError: missing ) after argument list

इससे बचने के लिए, बैकस्लैश (/) का इस्तेमाल करके वर्ण को एस्केप करें:

console.log( '"I\'m a string," I said.' );
> "I'm a string," I said.

स्ट्रिंग ऑब्जेक्ट

जब फ़ंक्शन के रूप में कॉल किया जाता है, तो String ऑब्जेक्ट स्ट्रिंग लिटरल.

let myString = String( 10 );

myString
> "10"

typeof myString
> string

प्रोटोटाइपल इनहेरिटेंस में बताए गए तरीके के मुताबिक, आपको String ऑब्जेक्ट को कन्स्ट्रक्टर के तौर पर इस्तेमाल करने की ज़रूरत शायद ही कभी पड़े. इससे एक स्ट्रिंग ऑब्जेक्ट में तरीकों और ऐसी प्रॉपर्टी जिन्हें स्ट्रिंग लिटरल के बजाय, String ऑब्जेक्ट से पहले ही इस्तेमाल किया जा चुका है.

let stringObj = new String( "My new string." );

typeof stringObj
> object

stringObj
> String { "My new string." }

स्ट्रिंग जोड़ने की प्रोसेस

संख्याओं के बजाय स्ट्रिंग के संदर्भ में, एक प्लस का निशान (+) इस्तेमाल करने पर यह स्ट्रिंग वैल्यू को एक साथ जोड़कर, स्ट्रिंग जोड़ने वाले ऑपरेटर की तरह काम करता है स्ट्रिंग:

console.log( "My" + " string." );
> My string.

स्ट्रिंग की लिटरल वैल्यू और टेंप्लेट की लिटरल वैल्यू

इन शब्दों के लिए सिंगल कोट, डबल कोट, और बैकटिक को एक-दूसरे की जगह इस्तेमाल किया जा सकता है स्ट्रिंग प्रिमिटिव बना रहा है. हालांकि, बैकटिक का इस्तेमाल करके यह तय किया जा सकता है कि टेंप्लेट की लिटरल वैल्यू (इसे कभी-कभी "टेंप्लेट स्ट्रिंग" भी कहा जाता है). इसे नापसंद करें स्ट्रिंग की लिटरल वैल्यू, जो सिंगल या डबल कोट के ज़रिए बनाई जाती हैं. टेंप्लेट की लिटरल वैल्यू का इस्तेमाल करें.

const myString = "This
is a string.";
> Uncaught SyntaxError: "" string literal contains an unescaped line break

const myString = `This
is a string.`;

console.log( myString );

> This
is a string.

टेंप्लेट की लिटरल वैल्यू में, डॉलर के निशान से मार्क किए गए प्लेसहोल्डर एक्सप्रेशन हो सकते हैं और कर्ली ब्रैकेट (${}). ये प्लेसहोल्डर "इंटरपोलेट किए गए" हैं डिफ़ॉल्ट रूप से, इसका मतलब है कि एक्सप्रेशन का नतीजा, फ़ाइनल में प्लेसहोल्डर को बदल देता है स्ट्रिंग.

console.log( "The result is " + ( 2 + 4 ) + "." );
> The result is 6.
console.log( `The result is ${ 2 + 4 }.` );
> The result is 6.

टेंप्लेट लिटरल को कस्टम फ़ंक्शन में पास किया जा सकता है टैग किया गया टेंप्लेट बनाने के लिए, यह एक ही टेंप्लेट का इस्तेमाल करने वाला फ़ंक्शन कॉल है लिटरल वैल्यू को आर्ग्युमेंट के सेट की तरह इस्तेमाल करता है और इसकी मदद से, प्लेसहोल्डर को लेखक के तय किए गए लॉजिक के हिसाब से होना चाहिए.

टैग फ़ंक्शन के पहले आर्ग्युमेंट में स्ट्रिंग वैल्यू का कलेक्शन होता है और बाकी आर्ग्युमेंट, प्लेसहोल्डर को तय करते हैं. स्ट्रिंग वैल्यू का यह कलेक्शन है "स्प्लिटिंग" से बनाया गया हर प्लेसहोल्डर पर टेंप्लेट की लिटरल वैल्यू होती है. कॉन्टेंट बनाने अरे के पहले एलिमेंट में, पहले प्लेसहोल्डर तक के सभी वर्ण शामिल हैं, दूसरे एलिमेंट में पहले और दूसरे के बीच कोई भी वर्ण होता है प्लेसहोल्डर वगैरह. हर प्लेसहोल्डर को टैग फ़ंक्शन में जुड़े हुए प्लेसहोल्डर के साथ स्टैंडअलोन वैल्यू.

const myNoun = "template literal";

function myTagFunction( myStrings, myPlaceholder ) {
    const myInitialString = myStrings[ 0 ];
    console.log( `${ myInitialString }modified ${ myPlaceholder }.` );
}

myTagFunction`I'm a ${ myNoun }.`;
> "I'm a modified template literal."

देखें कि आपको क्या समझ आया

वर्णों से बचने के लिए किस वर्ण का इस्तेमाल किया जाता है?

फ़ॉरवर्ड स्लैश (/)
डबल कोट (")
बैकस्लैश ()

जोड़ने के लिए किस वर्ण का इस्तेमाल किया जाता है?

.
+
&