Variables ও Data Types

লেসন ২৭ / ৪৪

Variables (ভেরিয়েবল)

JavaScript-এ ভেরিয়েবল তৈরির ৩টি কীওয়ার্ড: var, let, const

// var (পুরনো, function-scoped) — এড়িয়ে চলুন
var name = "করিম";

// let (ES6+, block-scoped) — পরিবর্তনযোগ্য
let age = 25;
age = 26; // ✅ চলবে

// const (ES6+, block-scoped) — অপরিবর্তনীয়
const PI = 3.14;
PI = 3.15; // ❌ Error!

// কখন কোনটি?
// const → default ব্যবহার করুন
// let → শুধু পরিবর্তন হলে
// var → ব্যবহার করবেন না

Data Types

Primitive Types (৭টি)

// 1. String
let name = "করিম";
let greeting = 'হ্যালো';
let template = `Hi ${name}`;    // Template literal

// 2. Number (integer ও float একই)
let age = 25;
let pi = 3.14;
let big = 1e6;  // 1000000

// 3. Boolean
let isActive = true;
let isAdmin = false;

// 4. null (ইচ্ছাকৃতভাবে খালি)
let data = null;

// 5. undefined (মান সেট করা হয়নি)
let x;
console.log(x); // undefined

// 6. Symbol (ES6) — অনন্য identifier
let id = Symbol("id");

// 7. BigInt — খুব বড় সংখ্যা
let big2 = 9007199254740991n;

Reference Types

// Array
let colors = ["লাল", "নীল", "সবুজ"];

// Object
let person = {
    name: "করিম",
    age: 25,
    city: "ঢাকা"
};

// Function
function greet() { return "Hi"; }

typeof অপারেটর

console.log(typeof "hello");   // "string"
console.log(typeof 42);         // "number"
console.log(typeof true);       // "boolean"
console.log(typeof undefined);  // "undefined"
console.log(typeof null);       // "object" (JS bug!)
console.log(typeof [1,2]);      // "object"
console.log(typeof {});         // "object"
console.log(typeof function(){}); // "function"

Type Conversion

// String → Number
Number("42")       // 42
parseInt("42px")   // 42
parseFloat("3.14") // 3.14
+"42"              // 42 (quick way)

// Number → String
String(42)         // "42"
(42).toString()    // "42"
42 + ""             // "42"

// → Boolean
Boolean(1)         // true
Boolean(0)         // false
Boolean("")        // false
Boolean("any")     // true

// Falsy values: false, 0, "", null, undefined, NaN
// বাকি সব truthy