JavaScript String কী?
JavaScript String হলো এক বা একাধিক character-এর একটি sequence। যেমন "Hello", "JavaScript", "Bangladesh" ইত্যাদি। JavaScript-এ String তৈরি করতে "", '' অথবা template literal-এর জন্য `` ব্যবহার করা যায়।
let name = "John";
let country = 'Bangladesh';
let message = `Hello World`;
console.log(name);
console.log(country);
console.log(message);
String-এর Length
length property দিয়ে একটি String-এ মোট কতটি character আছে তা জানা যায়।
let text = "Hello World";
console.log(text.length);
Output:
11
মনে রাখবেন, space-ও একটি character হিসেবে count হয়।
String Index
JavaScript String-এর index 0 থেকে শুরু হয়।
let text = "HELLO";
console.log(text[0]); // H
console.log(text[1]); // E
console.log(text[2]); // L
console.log(text[4]); // O
charAt()
charAt() নির্দিষ্ট index-এর character return করে।
let text = "Hello";
console.log(text.charAt(0)); // H
console.log(text.charAt(2)); // l
console.log(text.charAt(4)); // o
charCodeAt()
charCodeAt() নির্দিষ্ট character-এর UTF-16 code unit return করে।
let text = "Hello";
console.log(text.charCodeAt(0)); // 72
কারণ H-এর UTF-16 code হলো 72।
codePointAt()
codePointAt() নির্দিষ্ট position-এর Unicode code point return করে। বিশেষ করে Unicode character ও emoji নিয়ে কাজ করার সময় এটি গুরুত্বপূর্ণ।
let text = "A";
console.log(text.codePointAt(0)); // 65
at()
at() নির্দিষ্ট index-এর character return করে। এর বিশেষ সুবিধা হলো negative index ব্যবহার করা যায়।
let text = "Hello";
console.log(text.at(0)); // H
console.log(text.at(2)); // l
console.log(text.at(-1)); // o
console.log(text.at(-2)); // l
-1 মানে শেষ character, -2 মানে শেষ থেকে দ্বিতীয় character।
slice()
slice() String-এর একটি অংশ বের করার জন্য ব্যবহার করা হয়। Start index included, কিন্তু end index excluded।
let text = "Hello World";
let result = text.slice(0, 5);
console.log(result); // Hello
Negative index-ও ব্যবহার করা যায়।
let text = "Hello World";
console.log(text.slice(-5)); // World
console.log(text.slice(-5, -1)); // Worl
substring()
substring() String-এর নির্দিষ্ট অংশ বের করে। তবে negative value ব্যবহার করলে সেটিকে 0 হিসেবে ধরে।
let text = "Hello World";
console.log(text.substring(0, 5)); // Hello
slice() এবং substring()-এর মধ্যে গুরুত্বপূর্ণ পার্থক্য হলো negative index।
let text = "Hello World";
console.log(text.slice(-5)); // World
console.log(text.substring(-5)); // Hello World
substr()
substr() পুরোনো String method। নতুন JavaScript code-এ এটি ব্যবহার না করাই ভালো। এর পরিবর্তে slice() ব্যবহার করুন।
toUpperCase()
toUpperCase() String-এর সব letter uppercase করে।
let text = "Hello World";
console.log(text.toUpperCase());
Output:
HELLO WORLD
toLowerCase()
toLowerCase() String-এর সব letter lowercase করে।
let text = "HELLO WORLD";
console.log(text.toLowerCase());
Output:
hello world
concat()
concat() ব্যবহার করে একাধিক String একসাথে যোগ করা যায়।
let firstName = "John";
let lastName = "Doe";
let fullName = firstName.concat(" ", lastName);
console.log(fullName);
Output:
John Doe
তবে সাধারণভাবে String যোগ করার জন্য + অথবা template literal ব্যবহার করা সহজ।
let firstName = "John";
let lastName = "Doe";
console.log(firstName + " " + lastName);
trim()
trim() String-এর শুরু এবং শেষের অতিরিক্ত whitespace সরিয়ে দেয়।
let text = " Hello World ";
console.log(text.trim());
Output:
Hello World
trimStart()
trimStart() শুধু String-এর শুরু থেকে whitespace সরায়।
let text = " Hello World ";
console.log(text.trimStart());
trimEnd()
trimEnd() শুধু String-এর শেষ থেকে whitespace সরায়।
let text = " Hello World ";
console.log(text.trimEnd());
padStart()
padStart() String-এর শুরুতে character যোগ করে নির্দিষ্ট length তৈরি করে।
let number = "5";
console.log(number.padStart(3, "0"));
Output:
005
padEnd()
padEnd() String-এর শেষে character যোগ করে নির্দিষ্ট length তৈরি করে।
let number = "5";
console.log(number.padEnd(3, "0"));
Output:
500
repeat()
repeat() একটি String-কে নির্দিষ্ট সংখ্যকবার repeat করে।
let text = "Hi ";
console.log(text.repeat(3));
Output:
Hi Hi Hi
replace()
replace() String-এর নির্দিষ্ট অংশ পরিবর্তন করতে ব্যবহার করা হয়।
let text = "I like JavaScript";
let result = text.replace("JavaScript", "HTML");
console.log(result);
Output:
I like HTML
replace() সাধারণত প্রথম matching value পরিবর্তন করে।
replaceAll()
replaceAll() String-এর সব matching value পরিবর্তন করে।
let text = "Apple Apple Apple";
let result = text.replaceAll("Apple", "Orange");
console.log(result);
Output:
Orange Orange Orange
split()
split() একটি String-কে ভাগ করে Array তৈরি করে। এটি JavaScript-এর অত্যন্ত গুরুত্বপূর্ণ String method।
let fruits = "Apple,Banana,Orange";
let result = fruits.split(",");
console.log(result);
Output:
["Apple", "Banana", "Orange"]
Space অনুযায়ী split করা যায়:
let text = "Hello World";
console.log(text.split(" "));
প্রতিটি character আলাদা করতে:
let text = "Hello";
console.log(text.split(""));
Output:
["H", "e", "l", "l", "o"]
includes()
includes() String-এর মধ্যে নির্দিষ্ট text আছে কি না পরীক্ষা করে। Result হিসেবে true অথবা false দেয়।
let text = "I love JavaScript";
console.log(text.includes("JavaScript")); // true
console.log(text.includes("Python")); // false
startsWith()
startsWith() পরীক্ষা করে String নির্দিষ্ট text দিয়ে শুরু হয়েছে কি না।
let text = "Hello World";
console.log(text.startsWith("Hello")); // true
console.log(text.startsWith("World")); // false
endsWith()
endsWith() পরীক্ষা করে String নির্দিষ্ট text দিয়ে শেষ হয়েছে কি না।
let text = "Hello World";
console.log(text.endsWith("World")); // true
console.log(text.endsWith("Hello")); // false
indexOf()
indexOf() কোনো text প্রথম কোথায় পাওয়া গেছে তার index return করে। না পাওয়া গেলে -1 return করে।
let text = "Hello World";
console.log(text.indexOf("World")); // 6
console.log(text.indexOf("JavaScript")); // -1
lastIndexOf()
lastIndexOf() কোনো text-এর সর্বশেষ occurrence-এর index return করে।
let text = "Apple, Banana, Apple";
console.log(text.lastIndexOf("Apple"));
search()
search() String-এর মধ্যে নির্দিষ্ট text বা regular expression খুঁজে তার index return করে।
let text = "Hello World";
console.log(text.search("World")); // 6
match()
match() String-এর মধ্যে regular expression-এর matching অংশ খুঁজে বের করে।
let text = "The price is 100 taka";
let result = text.match(/\d+/);
console.log(result);
matchAll()
matchAll() regular expression ব্যবহার করে সব matching result খুঁজে বের করতে সাহায্য করে।
let text = "cat dog cat";
let result = text.matchAll(/cat/g);
for (let match of result) {
console.log(match[0]);
}
localeCompare()
localeCompare() দুটি String-এর alphabetical বা locale-based comparison করতে ব্যবহার করা হয়।
let a = "Apple";
let b = "Banana";
console.log(a.localeCompare(b));
String Concatenation
দুই বা তার বেশি String একসাথে যোগ করাকে String concatenation বলা হয়।
let firstName = "Md";
let lastName = "Ariful";
let fullName = firstName + " " + lastName;
console.log(fullName);
Template literal ব্যবহার করেও করা যায়:
let firstName = "Md";
let lastName = "Ariful";
let fullName = `${firstName} ${lastName}`;
console.log(fullName);
String Immutable
JavaScript-এর String immutable। অর্থাৎ String-এর কোনো character সরাসরি পরিবর্তন করা যায় না।
let text = "HELLO";
text[0] = "A";
console.log(text);
এখানে H পরিবর্তন হয়ে A হবে না। নতুন String তৈরি করতে হবে।
let text = "HELLO";
text = "A" + text.slice(1);
console.log(text);
Output:
ALLO
String থেকে Number Conversion
String number-কে number-এ convert করার জন্য Number(), parseInt() এবং parseFloat() ব্যবহার করা যায়।
let a = "100";
console.log(Number(a));
parseInt()
let value = "100px";
console.log(parseInt(value)); // 100
parseFloat()
let value = "10.50";
console.log(parseFloat(value)); // 10.5
Number থেকে String Conversion
toString() অথবা String() ব্যবহার করে number-কে String করা যায়।
let number = 100;
console.log(number.toString());
console.log(String(number));
String Comparison
দুইটি String compare করার সময় === ব্যবহার করা ভালো।
let a = "Hello";
let b = "Hello";
console.log(a === b); // true
JavaScript case-sensitive। তাই uppercase এবং lowercase আলাদা।
let a = "Hello";
let b = "hello";
console.log(a === b); // false
String এবং new String()
সাধারণ String তৈরি করতে new String() ব্যবহার করার প্রয়োজন নেই।
let a = "John";
let b = new String("John");
console.log(typeof a); // string
console.log(typeof b); // object
"John" একটি primitive string, কিন্তু new String("John") একটি String object তৈরি করে।
JavaScript String শেখার গুরুত্বপূর্ণ বিষয়
- String index এবং length ভালোভাবে বুঝুন।
- charAt(), at(), charCodeAt() এবং codePointAt() practice করুন।
- slice() এবং substring()-এর পার্থক্য বুঝুন।
- toUpperCase() এবং toLowerCase() ব্যবহার করুন।
- trim(), padStart(), padEnd() এবং repeat() practice করুন।
- replace() এবং replaceAll() শিখুন।
- split() দিয়ে String থেকে Array তৈরি করা practice করুন।
- includes(), startsWith() এবং endsWith() দিয়ে String search করুন।
- indexOf() এবং lastIndexOf() দিয়ে position খুঁজুন।
- String immutable বিষয়টি ভালোভাবে বুঝুন।
JavaScript String Methods – Quick Reference
length
charAt()
charCodeAt()
codePointAt()
at()
slice()
substring()
toUpperCase()
toLowerCase()
concat()
trim()
trimStart()
trimEnd()
padStart()
padEnd()
repeat()
replace()
replaceAll()
split()
includes()
startsWith()
endsWith()
indexOf()
lastIndexOf()
search()
match()
matchAll()
localeCompare()
toString()
উপসংহার
JavaScript String JavaScript শেখার অন্যতম গুরুত্বপূর্ণ অংশ। Website-এর text, user input, form validation, search, URL, API data এবং অনেক ধরনের application logic-এর ক্ষেত্রে String নিয়ে কাজ করতে হয়। তাই slice(), substring(), split(), replace(), includes(), indexOf(), at(), charAt() এবং অন্যান্য String methods নিয়মিত practice করলে JavaScript-এর String manipulation অনেক সহজ হয়ে যাবে।