একটি স্ট্রিং হলো টেক্সট ডেটা সংরক্ষণ করার JavaScript ডেটা টাইপ।
আপনি টেক্সটটিকে সিঙ্গেল কোট বা ডাবল কোটের ভেতরে রেখে একটি স্ট্রিং তৈরি করেন। Exercism-এ সিঙ্গেল কোট ব্যবহার করা হয়।
'Hello, World!'
"Hello, World!"
স্ট্রিংকে ক্যারেক্টারের একটি তালিকা হিসেবে ভাবা যায়, যেখানে প্রথম ক্যারেক্টারের ইনডেক্স 0।
আপনি যে অক্ষরটি নিতে চান তার ইনডেক্সসহ তৃতীয় বন্ধনী ব্যবহার করে স্ট্রিংয়ের একটি নির্দিষ্ট ক্যারেক্টার পেতে পারেন।
'cat'[1];
// => 'a'
length প্রপার্টি ব্যবহার করে একটি স্ট্রিংয়ে কতগুলো ক্যারেক্টার আছে তা জানতে পারেন।
'cat'.length;
// => 3
স্ট্রিং জোড়া লাগানোর সবচেয়ে সহজ উপায় হলো যোগ অপারেটর + ব্যবহার করা।
'I like' + ' ' + 'cats.';
// => "I like cats."
স্ট্রিংয়ে অনেক সহায়ক মেথড আছে, সম্পূর্ণ তালিকার জন্য স্ট্রিং মেথড নিয়ে MDN ডকস দেখুন। নিচের তালিকায় কিছু বহুল ব্যবহৃত সহায়ক মেথড দেখানো হয়েছে।
toUpperCase এবং toLowerCase - সব ক্যারেক্টারের কেস বদলে দেয়trim - শুরু ও শেষের হোয়াইটস্পেস মুছে দেয়includes, startsWith এবং endsWith - অন্য একটি স্ট্রিং প্রদত্ত স্ট্রিংয়ের অংশ কি না তা নির্ধারণ করেslice - স্ট্রিংয়ের একটি অংশ বের করে আনেJavaScript-এ স্ট্রিং ইমিউটেবল। তাই উপরের কিছু মেথড দিয়ে একটি "পরিবর্তন" করলেও সবসময়ই বদলে একটি নতুন স্ট্রিং তৈরি হয়।
শহরে নতুন একটি কবিতা ক্লাব চালু হয়েছে, আর আপনি সেখানে যাওয়ার কথা ভাবছেন। আগে কিছু ঘটনা ঘটেছে বলে ক্লাবের দরজায় ঢোকার একটি খুব নির্দিষ্ট নিয়ম আছে, যা ঢোকার চেষ্টা করার আগে আপনাকে ভালোভাবে শিখে নিতে হবে।
কবিতা ক্লাবে দুটি দরজা আছে, একটি সামনের আর একটি পিছনের, আর দুটিতেই পাহারাদার আছে। ভিতরে ঢুকতে হলে আপনাকে দিনের পাসওয়ার্ড বের করতে হবে।
পাসওয়ার্ড সবসময় একটি কবিতার উপর ভিত্তি করে তৈরি হয় এবং দুটি ধাপে বের করা যায়।
প্রক্রিয়ার বিস্তারিত নির্ভর করে আপনি কোন দরজা দিয়ে ঢুকতে চাইছেন তার উপর।
সামনের দরজার পাসওয়ার্ডের অক্ষরগুলো নির্ধারণ করতে হলে, পাহারাদার আপনার কাছে যে লাইনটি আবৃত্তি করেন, তার প্রথম অক্ষর দিয়ে আপনাকে উত্তর দিতে হবে।
সুন্দর একটি পাসওয়ার্ড পেতে কবিতা ক্লাবের সদস্যরা অ্যাক্রস্টিক কবিতা ব্যবহার করতে পছন্দ করেন। এর মানে হল প্রতিটি বাক্যের প্রথম অক্ষর মিলে একটি শব্দ তৈরি হয়। এখানে তাদের প্রিয় একজন লেখক Michael Lockwood-এর একটি উদাহরণ আছে।
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
তাই পাহারাদার যখন Stands so high আবৃত্তি করেন, আপনি উত্তর দেবেন S, আর পাহারাদার যখন Huge hooves too আবৃত্তি করেন, আপনি উত্তর দেবেন H।
frontDoorResponse ফাংশনটি ইমপ্লিমেন্ট করুন, যা আর্গুমেন্ট হিসেবে কবিতার একটি লাইন নেয় এবং সেই লাইনের প্রথম অক্ষর রিটার্ন করে।
frontDoorResponse('Stands so high');
// => "S"
এখন আপনার কাছে সব সঠিক অক্ষর আছে, তাই সামনের দরজার পাসওয়ার্ড পেতে হলে শুধু শব্দটিকে সঠিকভাবে বড় হাতের অক্ষরে লিখতে হবে।
frontDoorPassword ফাংশনটি ইমপ্লিমেন্ট করুন, যা একটি স্ট্রিং (১ নম্বর কাজে পাওয়া অক্ষরগুলো একসাথে) গ্রহণ করে এবং সেটিকে সঠিকভাবে বড় হাতের অক্ষরে লিখে রিটার্ন করে।
frontDoorPassword('SHIRE');
// => "Shire"
frontDoorPassword('shire');
// => "Shire"
পিছনের দরজার পাসওয়ার্ডের অক্ষরগুলো নির্ধারণ করতে হলে, পাহারাদার আপনার কাছে যে লাইনটি আবৃত্তি করেন, তার শেষ অক্ষর দিয়ে আপনাকে উত্তর দিতে হবে।
কবিতা ক্লাবের সদস্যরা সত্যিই বুদ্ধিমান। আগে উল্লেখ করা কবিতাটি আবার টেলেস্টিক, যার মানে প্রতিটি বাক্যের শেষ অক্ষরও মিলে একটি শব্দ তৈরি করে:
Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave
পাহারাদার যখন Stands so high আবৃত্তি করেন, আপনি উত্তর দেবেন h, আর পাহারাদার যখন Huge hooves too আবৃত্তি করেন, আপনি উত্তর দেবেন o।
লক্ষ্য করুন, পাহারাদার মাঝে মাঝে লাইনের শুরুতে বা শেষে শৈলীগত বিরতি (হোয়াইটস্পেস আকারে) দেন। সঠিক অক্ষর বের করতে হলে ওই বিরতিগুলো আপনাকে উপেক্ষা করতে হবে।
backDoorResponse ফাংশনটি ইমপ্লিমেন্ট করুন, যা আর্গুমেন্ট হিসেবে কবিতার একটি লাইন নেয় এবং সেই লাইনের হোয়াইটস্পেস নয় এমন শেষ অক্ষরটি রিটার্ন করে।
backDoorResponse('Stands so high');
// => "h"
backDoorResponse('Stands so high ');
// => "h"
পিছনের দরজা দিয়ে কবিতা ক্লাবে ঢুকতে হলে আপনাকে বাড়তি ভদ্রতা দেখাতে হবে।
তাই এবার পাসওয়ার্ড বের করতে, শব্দটিকে সঠিকভাবে বড় হাতের অক্ষরে লিখতে হবে এবং শেষে ', please' যোগ করতে হবে।
backDoorPassword ফাংশনটি ইমপ্লিমেন্ট করুন, যা একটি স্ট্রিং (৩ নম্বর কাজে পাওয়া অক্ষরগুলো একসাথে) গ্রহণ করে এবং বড় হাতের অক্ষরে লেখা পাসওয়ার্ডের ভদ্র সংস্করণটি রিটার্ন করে।
backDoorPassword('horse');
// => "Horse, please"
Exercism-এ সাইন আপ করুন, JavaScript ট্র্যাকের 37টি কনসেপ্ট159টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।