স্ট্রিংস

দ্বৈত উদ্ধৃতি চিহ্ন ( " ), একক উদ্ধৃতি চিহ্ন ( ' ), বা ব্যাকটিক্স (`) এর একটি সেটের মধ্যে অক্ষরের যেকোন সেট—অক্ষর, সংখ্যা, চিহ্ন এবং আরও অনেক কিছু৷ আপনি ইতিমধ্যে একটি স্ট্রিং দেখেছেন৷ এই কোর্সে স্ট্রিংয়ের কয়েকটি উদাহরণ: পূর্ববর্তী মডিউলে 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."

আপনার উপলব্ধি পরীক্ষা করুন

কোন অক্ষর অক্ষর পালাতে ব্যবহৃত হয়?

একটি ব্যাকস্ল্যাশ ( )
একটি ডবল উদ্ধৃতি ( " )
একটি ফরোয়ার্ড স্ল্যাশ ( / )

সংমিশ্রণের জন্য কোন অক্ষর ব্যবহার করা হয়?

+
&
.