আগের পর্বে আমরা JavaScript যুক্ত করা আর console.log() শিখেছি। আজকে শিখবো Variable — ডেটা জমিয়ে রাখার পাত্র, আর Data Type — সেই ডেটা কোন ধরনের হতে পারে। এই দুইটা প্রায় প্রতিটা প্রোগ্রামিং ভাষার ভিত্তি।
Variable কী?
Variable হলো একটা নামযুক্ত "বাক্স", যেখানে আমরা কোনো মান (value) জমিয়ে রাখতে পারি এবং পরে সেই নাম দিয়ে সেই মানটা ব্যবহার করতে পারি:
let name = "আরিফ"; console.log(name); // আরিফ
এখানে name হলো একটা variable, যার ভেতরে "আরিফ" মানটা জমা আছে। এখন থেকে name লিখলেই আমরা "আরিফ" পাবো।
Variable ডিফাইন করার তিনটা কীওয়ার্ড
JavaScript-এ variable বানাতে তিনটা কীওয়ার্ড ব্যবহার করা যায় — var, let, এবং const।
| কীওয়ার্ড | মান বদলানো যায়? | কখন ব্যবহার হবে |
|---|---|---|
var |
হ্যাঁ | পুরনো কোড — আধুনিক JavaScript-এ ব্যবহার করা উচিত না |
let |
হ্যাঁ | যখন মান পরিবর্তন হতে পারে (বয়স, স্কোর, কাউন্টার) |
const |
না | যখন মান কখনো বদলাবে না (নাম, জন্মতারিখ, ধ্রুবক) |
let age = 25; age = 26; // ঠিক আছে, বদলানো যাবে const birthYear = 2000; birthYear = 2001; // ❌ Error! const বদলানো যায় না
টিপস: আধুনিক JavaScript-এ var এড়িয়ে চলা উচিত (এটার কিছু পুরনো, বিভ্রান্তিকর আচরণ আছে)। সাধারণ নিয়ম — ডিফল্টভাবে সবসময় const ব্যবহার করো, আর শুধু তখনই let ব্যবহার করো যখন তুমি নিশ্চিত জানো মানটা পরে বদলাবে।
Variable-এর নাম দেওয়ার নিয়ম
- নাম অক্ষর, সংখ্যা,
$, বা_দিয়ে হতে পারে, কিন্তু সংখ্যা দিয়ে শুরু করা যাবে না - স্পেস ব্যবহার করা যাবে না (
user nameভুল,userNameঠিক) - JavaScript case-sensitive —
ageআরAgeসম্পূর্ণ আলাদা variable - নামকরণের কনভেনশন হলো camelCase — যেমন
firstName,totalPrice
Data Type — মান কোন ধরনের
JavaScript-এ প্রতিটা মানের একটা নির্দিষ্ট ধরন (type) থাকে। কয়েকটা সবচেয়ে গুরুত্বপূর্ণ বেসিক টাইপ দেখি।
১. String — টেক্সট
let city = "ঢাকা"; let greeting = 'হ্যালো';
টেক্সট লিখতে সিঙ্গেল কোট (') বা ডাবল কোট (") — দুটোই কাজ করে, শুধু একটা style ধারাবাহিকভাবে ব্যবহার করাই ভালো।
২. Number — সংখ্যা
let age = 25; let price = 99.99; let temperature = -5;
JavaScript-এ integer (পূর্ণ সংখ্যা) আর decimal (দশমিক সংখ্যা) আলাদা করার দরকার নেই — সবই number টাইপ।
৩. Boolean — true/false
let isLoggedIn = true; let isAdmin = false;
শুধু দুইটা মান হতে পারে — true বা false। কোনো condition চেক করার জন্য এটা সবচেয়ে বেশি ব্যবহার হয় — পরের পর্বে (Condition) এটা কাজে লাগবে।
৪. Undefined ও Null
let x; console.log(x); // undefined — মান দেওয়া হয়নি let y = null; console.log(y); // null — ইচ্ছাকৃতভাবে "কিছু নেই" বোঝানো
| Type | অর্থ |
|---|---|
undefined |
variable ডিক্লেয়ার করা হয়েছে, কিন্তু কোনো মান দেওয়া হয়নি |
null |
ডেভেলপার ইচ্ছা করে বলছে "এখানে কোনো মান নেই" |
Type চেক করা — typeof
কোনো মানের data type জানতে typeof ব্যবহার হয়:
console.log(typeof "আরিফ"); // string console.log(typeof 25); // number console.log(typeof true); // boolean console.log(typeof undefined); // undefined
Template Literal — সহজে স্ট্রিং জোড়া লাগানো
একাধিক variable আর টেক্সট মিলিয়ে একটা বাক্য বানাতে ব্যাকটিক (`) আর ${} ব্যবহার করা যায়:
let name = "আরিফ";
let age = 25;
// পুরনো পদ্ধতি (concatenation)
console.log("আমার নাম " + name + ", বয়স " + age);
// নতুন পদ্ধতি (template literal)
console.log(`আমার নাম ${name}, বয়স ${age}`);
টিপস: Template literal (ব্যাকটিক দিয়ে) এখন আধুনিক JavaScript-এ সবচেয়ে জনপ্রিয় পদ্ধতি — + দিয়ে জোড়া লাগানোর চেয়ে অনেক পরিষ্কার ও পড়তে সহজ। এই সিরিজে আমরা এখন থেকে এটাই বেশি ব্যবহার করবো।
একটা সম্পূর্ণ উদাহরণ
<!DOCTYPE html>
<html lang="bn">
<head>
<meta charset="UTF-8">
<title>Variable ও Data Type উদাহরণ</title>
</head>
<body>
<script>
const name = "আরিফ";
let age = 25;
let isDeveloper = true;
console.log(`নাম: ${name}`);
console.log(`বয়স: ${age}`);
console.log(`ডেভেলপার কিনা: ${isDeveloper}`);
console.log(typeof name);
console.log(typeof age);
console.log(typeof isDeveloper);
age = 26; // let বলে বদলানো যাচ্ছে
console.log(`নতুন বয়স: ${age}`);
</script>
</body>
</html>
নিজে চেষ্টা করো
Exercise:
constদিয়ে নিজের নাম,letদিয়ে নিজের বয়স রাখো- Template literal দিয়ে "আমার নাম ___ এবং বয়স ___" — এরকম একটা লাইন console-এ প্রিন্ট করো
typeofদিয়ে তিনটা আলাদা টাইপের variable-এর data type চেক করোconst-এ ডিফাইন করা একটা variable-এর মান বদলানোর চেষ্টা করো — কী error আসে দেখো
পরের পর্বে যা থাকছে
পর্ব ৩-এ আমরা শিখবো Operator — arithmetic, comparison, ও logical operator, উদাহরণসহ।