JavaScriptBasics
Q6. What is the difference between null and undefined?
দুটোই ফাঁকা মান, কিন্তু ভিন্ন ভিন্ন অর্থ বহন করে — কখন কোনটি ব্যবহার করবেন।
দুটোই মানে কোনো মান নেই, কিন্তু অর্থ আলাদা। undefined মানে JavaScript নিজে ইচ্ছাকৃতভাবে দিয়েছে — ঘোষিত কিন্তু কোনো মান দেওয়া হয়নি, বা property-টা object-এ নেই। আর null মানে আমরা ইচ্ছা করে বলেছি এখানে কিছু নেই।
দুটো কোথা থেকে আসেjavascript
javascript
let a; // undefined — ঘোষণা হয়েছে, মান নেই
let b = null; // null — ইচ্ছাকৃতভাবে খালি
const user = { name: "Rahim" };
console.log(user.email); // undefined — এই property নেই
// null সাধারণত API থেকে ফাঁকা ডেটা এলে বা
// শুরুতে কিছু ধরে রাখতে ব্যবহার হয়| বিষয় | null | undefined |
|---|---|---|
| অর্থ | ইচ্ছাকৃতভাবে কোনো মান নেই | ইঞ্জিন নিজে দিয়েছে, মান দেওয়া হয়নি |
typeof ফল | "object" (পুরোনো বাগ) | "undefined" |
| ডিফল্ট প্যারামিটার | ডিফল্ট মান বসে না | ডিফল্ট মান বসে |
=== তুলনা | শুধু null-এর সাথে true | শুধু undefined-এর সাথে true |
== তুলনা | undefined-এর সাথেও true | null-এর সাথেও true |
একটি জনপ্রিয় কৌশল — value ?? "default" ব্যবহার করলে null ও undefined দুটোই ধরা পড়ে, কিন্তু 0, খালি string বা false-কে ছুঁয় না।
default মান বনাম nullish coalescingjavascript
javascript
function greet(name = "ব্যবহারকারী") {
console.log(name);
}
greet(); // ব্যবহারকারী — undefined
// greet(null); // null — default বসে না
console.log(0 ?? "fallback"); // 0
console.log(null ?? "fallback"); // fallbackসতর্কতা
value || "default" লিখলে 0 বা false থাকলেও ডিফল্ট বসে যাবে — ফলে হিসাব ভুল হয়। শুধু null ও undefined ধরতে ?? ব্যবহার করুন।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।