String and its uses in Bengali JavaScript Series ⇾ Chapter Five
string literal and construction, escape Notation, string method, length of string

♗ Love To Play With → JavaScript & NodeJS.
✢ Interested → Web & Backend Development.
↯ Current Stack → MERN Stack
এর পূর্বে আমরা স্ট্রিং সম্পর্কে জেনেছিলাম ।কিন্তু এই পর্বে আর ভালোভাবে জানব স্ট্রিং সম্পর্কে ।রিয়েল টাইম প্রজেক্ট গুলোতে স্ট্রিং এর ব্যবহার হয় প্রচুর ।তাই এর গুরুত্ব অসামান্য ।বিষধ ভাবে স্ট্রিং কে বুজতে চাপ্টারটি তোমাকে খুব হেল্প করতে যাচ্ছে ।
037. What is String :
জাভাস্ক্রিপ্ট এর মত higherlavel ল্যাঙ্গুয়েজে কোন টেক্সট কে সিঙ্গেল কোট 'text of single quotation' অথবা "text of double quotation "ডাবল কোটেশন এর মধ্যে wrap রাখলেই আমরা তাকে স্ট্রিং বলব ।তুমি চাইলে সিঙ্গেল কোটেশন অথবা ডাবল কোটেশন ব্যবহার করতে পার স্ট্রিং ডিক্লারেশনে । তবে বেশিরভাগ জাভাস্ক্রিপ্ট ডেভেলপার সিঙ্গেল কোটেশন ব্যবহার করতে সাচ্ছন্দ বোধ করে ।
038. String Literal vs Constructor :
আমরা সিঙ্গেল কোটেশন অথবা ডাবল কোটেশন এর ভিতরে স্ট্রিং ডিক্লের করতে পারি এবং তা ভ্যারিয়েবল এ assign করতে পারি । এই সিস্টেম এ স্ট্রিং রাখাকে বলাহয় স্ট্রিং literal ।
var str = `something`
var str = "Something"
এছাড়াও আমরা স্ট্রিং কন্সট্রাক্টর ব্যবহার করেও স্ট্রিং এসাইন করতে পারি ।
var str = String("Something")
তোমার প্রশ্ন হতে পারে আমরা কোনো স্ট্রিং কন্সট্রাক্টর ব্যবহার করব যেখানে স্ট্রিং literal ব্যবহার করা সহজ ।
ধর তুমি একটা ভ্যারিয়েবল এ নম্বর assign করলে ।কিন্তু সেটাকে another ভ্যারিয়েবল এ রেখে স্ট্রিং আউটপুট চাচ্ছ সেক্ষেত্রে কন্সট্রাক্টর ব্যবহার করাটাই ভাল।তুমি চাইলে n.toString() বা var str = n + " " ব্যাবহার করতে পার ।তবে কন্সট্রাক্টর ব্যবহার করাটা safe ।
আমরা
String(n)ব্যবহার করে যে কোন ডাটা টাইপ কে স্ট্রিং এ কনভার্ট করতে পারি ।
var n = 10
var str = String(n)
console.log(str)
039. What is Escape Notation:
ধর তোমার এমন কিছু ক্যারেক্টর লেখার দরকার হল স্ট্রিং এর মধ্যে যেখানে "this is a 'string' in single cod " ডাবল কোটেশন এর মধ্যে সিঙ্গেল কোটেশন ব্যবহার করতে হবে ।কিন্তু তুমি যদি ডাবল কোটের মধ্যে সিঙ্গেল কোট লিখতে চাও জাভাস্ক্রিপ্ট কম্পাইলের এরর জেনারেট করবে ।
ঠিক সেই প্রব্লেম থেকে বাঁচার জন্য আমরা \ এস্কেপ ক্যারেক্টর বা নোটেশন গুলো ব্যাবহার করব ।
যেমন :
var str = "this is a \'string\' "
আবার ধর সিঙ্গেল লাইন কিন্তু তুমি চাচ্ছ তোমার সিঙ্গেল লাইন কে ভেঙে ২টা লাইন করব তখন \n ব্যবহার করতে পার ।
var str = "Single line broken by \n2 lines";

Escape Annotation Resource থেকে দেখে নিতে পার ।
040. How to Compare Two String :
এই সেক্শনে আমরা আলোচনা করব কিভাবে আমরা দুইটা স্ট্রিং কে তুলনা করতে পারি ।আমাদের রিয়েল লাইফ প্রজেক্ট এ অনেক সময়ে স্ট্রিং গুলোকে কম্পার করার দরকার হয় ।দুইটা নাম্বার compare করা সহজ আমরা বুজতে পারি দেখে কিন্তু দুইটা স্ট্রিং কে compare করতে গেলে জাভাস্ক্রিপ্ট যে সিস্টেম ফলো করে তাকে বলাহয় lexicograpic ।স্ট্রিং compare এর ক্ষেত্রে laxical order নামে একটা অর্ডার মেইনটেইন করাহয় ।এই laxicalgraphic order এ প্রথমে small latter গুলোকে সাজান হয়।সেক্ষেত্রে সব থেকে বড় লেটার হিসেবে ধরা হয় z,y,x,......b,a এর পরে আসেZ,Y,X.....B,A` এভাবে অর্ডার মেইনটেইন করে compare করে লেটার গুলোকে ।এবং compare করে বুলিয়ান ভ্যালু রিটার্ন করে ।
var a = "adc";
var b = "cdc";
var aLessB = a < b;
var aGraterB = a > b;
var aEqualB = a === b;
console.log("a less B " , aLessB);
console.log("a grater B " , aGraterB);
console.log("a Equal B " , aEqualB);
আউটপুট আসবে :

041. String Methods Provided by Javascript :
আমরা এর আগে Math মেথড দেখেছি যেগুলো জাভাস্ক্রিপ্ট আমাদের provide করে থাকে ।এই মেথড বা ফাঙ্কশন গুলোর সাহায্যে আমরা খুব সহজে কাজ করতে পারি ।ঠিক তেমনি জাভাস্ক্রিপ্ট এ string এর জন্য কিছু মেথড provide করে থাকে ।এই সেকশন এ আমরা সেগুলো সম্পর্কে জানারচেষ্টা করব ।
Concat :
তুমি এর আগে যখন দুইটা স্ট্রিং কে যোগ বা join করেছ তখন + sign ব্যবহার করে করেছ কিন্তু জাভাস্ক্রিপ্ট আমাদের স্ট্রিং join করতে concat নাম মেথড provide করে থাকে ।
ধর আমাদের দুইটা ভেরিএবল আছে var a = "This Is " and var b= "Tanvir mehedi" আমরা এই দুইটা ভ্যারিয়েবল এর স্ট্রিং গুলোকে একসাথে প্রিন্ট করতেচাই ।কি করব ।
পুরাতন নিয়মে :
var a = "This Is "
var b= "Tanvir mehedi"
console.log(a + b)

মেথড ব্যবহার করে :
var a = "This Is ";
var b = "Tanvir mehedi";
console.log(a.concat(b));
একই আউটপুট দিচ্ছে ।কিন্তু এবারে আমরা concat নামে স্ট্রিং মেথড ব্যবহার করেছি ।
substring :
আমরা চাচ্ছি কোন একটা স্ট্রিং থেকে কিছু সংখক ওয়ার্ড নিব substring মেথড ব্যবহার করে আমরা তা করতে পারি । আর substring মেথড স্ট্রিং এর টেক্সট গিলকে 0 থেকে কাউন্ট করে ।
var b = "Tanvir mehedi";
এখানে b ভ্যারিয়েবল এর T এর ইনডেক্স ০ থেকে ধরে কাউন্ট করবে ।এখন আমরা যদি চাই যে আমাদের শুধু mehedi দরকার তাহলে লিখতে পারি :
var b = "Tanvir mehedi";
console.log(b.substring(7));
এখানে indexnumber ৭ থেকে শুরু করে লাস্ট পর্যন্ত আমাদের দিচ্ছি ।
আমার আমরা যদি চাই লাস্ট এর সব নিব না শুধু meh নিব সেক্ষেত্রে :
var b = "Tanvir mehedi";
console.log(b.substring(7));
console.log(b.substring(7, 10));
স্টার্টিং number এবং এন্ডিং number আমরা মেনশন করে দিলে আমাদের আউটপুট দিবে :

charAt :
আমরা কোন ইনডেক্স এ কোন ক্যারেক্টর আছে সেটা খুব সহজেই charAt মেথড ব্যবহার করে বের করে ফেলতে পারি । এখানে charAt মানে বুঝাচ্ছে ক্যারেক্টর at ।আমরা নিচে দেখানো উপায়ে বের করতে পারি :
তুমি কিন্তু নিজে নিজে এগুলো প্রাকটিস করবা নাহলে বুঝেনেয়া অসম্পূর্ন থেকে যাবে ।
var b = "Tanvir mehedi";
console.log(b.charAt(0));
এখানে জাস্ট ইনডেক্স নম্বর বলে দিলেই ক্যারেকটার বলে দিবে ।
startsWith :
তুমি যদি দেখতেচাও কোন স্ট্রিং তোমার স্পেসিফিক লেটার দিয়ে শুরু হয়েছে কিনা সেটাও চেক করতে পার startsWith মেথড ব্যবহার করে ।তবে এ ক্ষেত্রে বুলিয়ান রিটার্ন করবে ।এবং startsWith মেথড কেস সেন্সেটিভ ।
যেমন ধর তুমি দেখতে চাইলে তোমার ভ্যারিয়েবল এর প্রথমে T দিয়ে শুরু হয়েছে কিনা । শুরু হলে true হবে না হলে false ।
var b = "Tanvir mehedi";
console.log(b.startsWith("T"));
আউটপুট :

endsWith :
ঠিক একই ভাবে আমরা চেক করতে পারি শেষের লেটার কি আছে সেক্ষেত্রে ব্যবহার করব endsWith মেথড ।এবং এখানেও বুলিয়ান রিটার্ন করবে ।
শুধু যে লেটার চেক করতে পারি এমন নয় আমরা চাইলে পুরো ওয়ার্ড কেও চেক করতে পারি ।
toUpperCase :
আমাদের অনেকসময় লোয়ার কেস ওয়ার্ড বা স্ট্রিং কে সব আপার কেস এ দেখার দরকার হয় সেখানে আমরা toUpperCase মেথড ব্যবহার করতে পারি ।
var b = "Tanvir mehedi";
console.log(b.toUpperCase());
আউটপুট :

toLowerCase :
toUpperCase আমাদের ছোটোহাতের অক্ষর গুলোকে বড় হাত করে দিত এখানে উল্টো হবে ক্যাপিটাল লেটার থাকলে সেটা smaller করে দিবে ।
var b = "Tanvir mehedi";
console.log(b.toLowerCase());

trim :
তুমি ভুল বসত এমন একটা ভেরিয়েবল ডিক্লার করেছ যেখানে অনেক স্পেস রয়েছে । trim মেথড unwanted স্পেস গুলো রিমুভ করতে আমাদের হেল্প করবে
var f = " this is space ";
console.log(f.trim());
আউটপুট :

split :
স্প্লিট মেথড যে কোন টেক্সট কে স্পেসিফিক ক্যারেকটার এর উপর ভিত্তি করে word এ ভেঙে array তে রূপান্তর করে ফেলতে হেল্প করবে । array নিয়ে আমরা পরে আলোচনা করব ।
var b = "Tanvir mehedi";
console.log(b.split(" "));
এখানে আমরা b ভ্যারিয়েবল এর টেক্সট কে white space এর উপর ভিত্তি করে ভেঙে আলাদা করেছি ।
আউটপুট :

এগুলোই মূলত স্ট্রিং এর গুরুত্ত পূর্ণ মেথড আপনি চাইলে আরো অনেক মেথড দেখতে পারেন মজিলা ডেভেলপার রিসোর্সএ ।
042. How to Get Length of a String :
এই সেকশন এ আমরা দেখবো কিভাবে স্ট্রিং এর length বের করতে হয় ।
আমরা খুব সহজ ভাবে length মেথড ব্যবহার করে স্ট্রিং এর লেংথ বের করতে পারি ।
var b = "Tanvir mehedi";
console.log(b.length);
আউটপুট :

এই চ্যাপ্টার এখানেই শেষ করছি আগামী পর্বে দেখা হবে array নিয়ে ।





