JavaScript-এ null বা undefined হলে ডিফল্ট মান সেট করার জন্য আধুনিক **Nullish Coalescing Operator** (`??`) এবং পার endeর thống **Logical OR** (`||`) ব্যবহার করা হয়।
সিনট্যাক্স
// পুরনো পদ্ধতি (Logical OR)
var value = null;
var result = value || "ডিফল্ট মান";
// আধুনিক পদ্ধতি (Nullish Coalescing - ES2020)
var result = value ?? "ডিফল্ট মান";
উদাহরণ
var fullName = null;
console.log("পূর্বে: " + fullName); // null
var actualName = fullName || "David Miller";
console.log("|| ব্যবহার: " + actualName); // David Miller
var actualName2 = fullName ?? "David Miller";
console.log("?? ব্যবহার: " + actualName2); // David Miller
চলানোর পদ্ধতি
- কোডটি
nullishDemo.jsনামে সংরক্ষণ করুন। - টার্মিনালে চালান:
node nullishDemo.js
আউটপুট
পূর্বে: null
|| ব্যবহার: David Miller
?? ব্যবহার: David Miller
|| vs ?? - গুরুত্বপূর্ণ পার্থক্য
| মান | || ফলাফল | ?? ফলাফল |
|---|---|---|
| null | ডিফল্ট | ডিফল্ট |
| undefined | ডিফল্ট | ডিফল্ট |
| 0 | ডিফল্ট ❌ | 0 ✅ |
| false | ডিফল্ট ❌ | false ✅ |
| "" | ডিফল্ট ❌ | "" ✅ |
| NaN | ডিফল্ট | NaN ✅ |
কখন কোনটা ব্যবহার করবেন
- || - যেকোনো falsy মানকে ডিফল্ট দিতে চাইলে (লিগ্যাসি কোড)।
- ?? - শুধু null/undefined কে ডিফল্ট দিতে চাইলে (প্রস্তাবিত, সফ্টওয়্যার ইঞ্জিনিয়ারিং)।
- ফাংশন প্যারামিটারে: `function(a = default)` (ES6 ডিফল্ট প্যারামিটার) সেরা।
চেইনিং (Chaining)
const config = userConfig ?? systemConfig ?? defaultConfig ?? 'fallback';
ব্রাউজার সাপোর্ট
- `??`: Chrome 80+, Firefox 72+, Safari 13.1+, Edge 80+ (ES2020)
- পুরনো ব্রাউজার সাপোর্টের জন্য Babel/TypeScript ট্রান্সপাইল করুন।