JavaScript Strings (স্ট্রিং)
String তৈরি, method, searching, slicing, replace, split, template literal — সব বাংলায়।
string হলো টেক্সট ধরে রাখার টাইপ। ছোটো থেকে বড় — প্রতিটি অ্যাপে string-ই সবচেয়ে বেশি ব্যবহৃত। তাই এর method-গুলো ভালো করে জানা দরকার।
String তৈরি
const a = "হ্যালো";
const b = 'হ্যালো';
const name = "রহিম";
const template = `হ্যালো ${name}!`;
console.log(template); // "হ্যালো রহিম!"backtick () দিয়ে তৈরি **template literal**-এর ভেতরে ${...}` দিয়ে ভেরিয়েবল ও expression বসে — string জোড়া লাগানোর চেয়ে অনেক পরিষ্কার।
দৈর্ঘ্য ও access
const text = "বাংলা";
console.log(text.length); // 5
console.log(text[0]); // ব
console.log(text.charAt(2));// ং
console.log(text.at(-1)); // া (শেষ অক্ষর)কেস বদলানো
const message = "Hello JavaScript";
console.log(message.toUpperCase()); // "HELLO JAVASCRIPT"
console.log(message.toLowerCase()); // "hello javascript"Slice ও substring
const text = "JavaScript";
console.log(text.slice(0, 4)); // "Java"
console.log(text.slice(4)); // "Script"
console.log(text.slice(-6)); // "Script" (শেষ থেকে)
console.log(text.substring(4, 10));// "Script"
console.log("বাংলাদেশ".slice(0, 4)); // "বাংলা"slice(start, end) — end বাদ। নেগেটিভ দিলে শেষ থেকে গোনা হয়। substring-এ নেগেটিভ দিয়ে নেগেটিভ হিসেবে নেয় না, তাই সাধারণত slice-ই সুবিধা।
Searching
const text = "আমি JavaScript শিখছি";
console.log(text.includes("JavaScript")); // true
console.log(text.indexOf("Script")); // 7
console.log(text.indexOf("Python")); // -1 (নেই)
console.log(text.startsWith("আমি")); // true
console.log(text.endsWith("শিখছি")); // true
console.log(text.lastIndexOf("a")); // শেষ অবস্থানreplace
const text = "Hello World";
console.log(text.replace("World", "Bangladesh")); // "Hello Bangladesh"
// সবগুলো বদলাতে regex global
const more = "a a a";
console.log(more.replace(/a/g, "x")); // "x x x"
console.log(more.replaceAll("a", "x")); // "x x x" (আধুনিক)replace শুধু প্রথম মিলটি বদলায়; সবগুলো বদলাতে /g flag অথবা replaceAll। মনে রাখবেন — সব string method নতুন string দেয়, মূল বদলায় না।
Trim ও padding
const messy = " বাংলাদেশ ";
console.log(messy.trim()); // "বাংলাদেশ"
const id = "7";
console.log(id.padStart(3, "0")); // "007"
console.log(id.padEnd(3, "0")); // "700"split ও join
const csv = "রহিম,করিম,সুমন";
const names = csv.split(",");
console.log(names); // ["রহিম", "করিম", "সুমন"]
const sentence = "আমি বাংলায় কোড লিখি";
console.log(sentence.split(" ")); // ["আমি", "বাংলায়", "কোড", "লিখি"]
const back = names.join(" | ");
console.log(back); // "রহিম | করিম | সুমন"split(separator) string-কে array করে; join(glue) array-কে string করে। CSV, URL query, ট্যাগ পার্সিং — সব এতেই।
Template literal গভীরে
const price = 1500;
const qty = 3;
// পুরনো জোড়া
const old = "মোট দাম: " + (price * qty) + " টাকা";
// template literal
const new = `মোট দাম: ${price * qty} টাকা`;
console.log(old); // মোট দাম: 4500 টাকা
console.log(new); // মোট দাম: 4500 টাকা
// multiline
const html = `<div>
<h1>নমস্কার</h1>
</div>`;| মেথড | কাজ |
|---|---|
length | দৈর্ঘ্য |
toUpperCase / toLowerCase | কেস বদল |
slice | অংশ কাটে |
includes / indexOf | খোঁজা |
startsWith / endsWith | শুরু/শেষ চেক |
replace / replaceAll | বদলানো |
trim | ফাঁকা ঘোরা |
padStart / padEnd | প্যাডিং |
split / join | string ↔ array |
charAt / at | অক্ষর access |
string immutable — কোনো method মূল string-কে বদলায় না, সব নতুন string দেয়। তাই চেইন: text.trim().toUpperCase().split(" ") — নতুন জায়গায় কাজ হয়।
নিজের নাম নিয়ে: split(" "), toUpperCase(), slice(0, 3), includes() — কয়েকটা চালিয়ে ফলাফল লিখুন।