জাভাস্ক্রিপ্ট "String"
আমরা সাধারণত টেক্সট বলতে যেটা বুঝি সেটাই প্রোগ্রামিং এর ভাষায় “স্ট্রিং”। তো, যেহেতু এটা প্রোগ্রামিং ল্যাঙ্গুয়েজে আগে থেকেই নির্ধারিত করে দেওয়া থাকে, তাই এটি Primitive Data Type । আবার সম্পূর্ণ কোডই টেক্সট হয়, তাই স্ট্রিং কে অন্যান্য কোডের থেকে আলাদা করার জন্য কোটেশনের (” ” / ‘ ’) মধ্যে লিখতে হয়। শুধু alphabet না, কোটেশনের মধ্যে আবদ্ধ যেকোনো কিছুই স্ট্রিং।
var name = "Mahfuz Swaron";
var email = "mahfuz1234@gmail.com";
var phone = "+880-1716-157186";
এমনকি একেবারে কিছু না থাকলেও তা স্ট্রিং — Empty String
var empty = "";
কোটেশন ব্যবহারের সময় ✌ টা কথা মনে রাখবেন —
১। একই ধরণের কোটেশন দিয়ে শুরু এবং শেষ করতে হবে
২। যে কোটেশন দিয়ে শুরু হয়েছে সে কোটেশন মাঝে লিখা যাবে না।
var valid = 'single-single';
var valid_too = "mingle-mingle";
var invalid = 'single-mingle";
var invalid_too = "mingle-single';
var invalid_also = 'single 'single' single';
var also_invalid = "mingle "mingle" mingle";
তবে মধ্যখানে অন্য ধরণের কোটেশন লিখা যেতেই পারে —
var valid = "it's okay";
var valid_too = '"it" is okay also';
আবার একটূ চালাকিও করা যায় - escape character ( \ ) এর মাধ্যমে —
var string = "it's an \"escape\" technique";
Postmortem of String!
স্ট্রিং এর ক্যারেক্টারগুলো প্রত্যেকটা পর পর সাজানো থাকে। ফুলের মালার মতো ! ঠিক যেন সুতা দিয়ে বাঁধা। বাই দ্যা ওয়ে, String অর্থও কিন্তু দড়ি 😅 । আবার ক্যারেক্টার গুলোরও একটা ক্রম বা সিরিয়াল থাকে। যেমনটা থাকে ক্লাসের ছাত্র-ছাত্রীদের রোল নাম্বারের সিরিয়াল। এই রোল নাম্বারের আরেকটা সুন্দর নাম আছে — index । ইনডেক্স এর আরেকটা অসাধারণ বৈশিষ্ট্য হলো এটি 0 থেকে শুরু হয়, 1 থেকে না ( 0, 1, 2, 3, 4… )
ক্লাসে যেমন রোল নাম্বার ধরে ডাক দিলে আমরা yes sir / present sir বলি, তেমনই কোনো ক্যারেক্টারের ইনডেক্স ধরে ডাক দিলে তাকেও পাওয়া যাবে। চলুন ডেকে দেখি —
// Syntax:
// string[index]
var greet = "Hello";
console.log( greet[0] ); // output :> "H"
console.log( greet[1] ); // output :> "e"
একটা স্ট্রিং - এ কয়টা ক্যারেক্টার আছে সেটা string এর length
property তে স্টোর থাকে।
// Syntax
// string.length
var str = "World";
console.log(str.length) // output :> 5
আচ্ছা যদি 0 থেকে কম ( -1, -2, -3…. ) বা স্ট্রিং এর last index এর চেয়ে বেশি index এর ক্যারেক্টার বের করতে যাই তাহলে কি হবে?
var str = "abc";
console.log(str[3]); // output :> undefined
console.log(str[-5]); // output :> undefined
undefined
আউটপুট আসবে — ঠিকই তো, আমরা তো স্ট্রিং এর এসব ইনডেক্সে কোনো ক্যারেক্টার ডিফাইনই করি নাই। তাহলে কিভাবে পাবে!!
আচ্ছা ইনডেক্স দিয়ে তো ক্যারেক্টার বের করতে পারলাম। কিন্তু যদি আমরা কোনো ক্যারেক্টারের index ই বের করতে চাই, তাহলে কিভাবে করবো? চিন্তা নাই, তারও উপায় আছে — indexOf()
মেথড ।
যদি ক্যারেক্টারটি ঐ স্ট্রিং এ না থাকে তাহলে তার index হবে -1
// Syntax
// string.indexOf('character')
var text = "Bangladesh";
console.log(text.indexOf("B")); // output :> 0
console.log(text.indexOf("Z")); // output :> -1
অনেক তো হলো খোঁজা- খোঁজি, এবার একটু জোড়া-জোড়ি করা যাক…
Concatenation of String [con + cate + nation = কনক্যাটিনেশন ]
Concatenation মানে জোড়া দেওয়া। একাধিক স্ট্রিং কে জোড়া দিয়ে একটি স্ট্রিং বানানো, বিয়ের মাধ্যমে যেমন দুটি জীবন একসাথ হয় 🥰। by the way, উদাহরণ দেখা যাক —
// Syntax:
// string1 + string2 + string3 +......
var firstName = "Mahfuz";
var lastName = "Mozumdar";
var fullName = firstName + " " + lastName; // "Mahfuz Mozumdar"
কনক্যাট করার জন্য জাভাস্ক্রিপ্টে একটা বিল্ট-ইন মেথডও আছে — concat()
// Syntax:
// string1.concat(string2, string3,...many more);
var firstName = "Mahfuz";
var lastName = "Mozumdar";
var fullName = firstName.concat(" ", lastName); // "Mahfuz Mozumdar"
যদি কোনো নাম্বার স্ট্রিং রূপে থাকে তাহলে তার কনক্যাটিনেশন ও এমনই হবে
var number = "10";
console.log(number + 10); // output :> '1010'\
📌 সহজ কথায় বললে —
স্ট্রিং স্ট্রিং স্ট্রিং
তাদের খাড়া দুটি “শিং“
ক্যারেক্টার এর সিরিয়াল করে — indexing
তাদের জোড়া দেওয়ার মেথড হলো — কনক্যাটিনেটিং
Subscribe to my newsletter
Read articles from Mahfuz Swaron directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Mahfuz Swaron
Mahfuz Swaron
An ordinary web developer with extra-ordinary teaching skill. It's not my own speech, I often hear this appreciation from the people around me. By the way, I am a student of Computer Technology department in a Govt. Polytechnic Institute. Currently in 7th semester (out of 8). I have learnt MERN Stack and related technologies and built many web applications. You may browse them from my GitHub profile or portfolio website.