Q12. What are default parameters in JavaScript?
প্যারামিটারে ডিফল্ট মান দেওয়ার নিয়ম, এক্সপ্রেশন ও default value ব্যবহারের সুযোগ।
Default parameter মানে কোনো আর্গুমেন্ট না দিলে ফাংশনটি যে মান ব্যবহার করবে। এটি ES6-এ এসেছে এবং undefined চেক করে || দিয়ে বদলানোর পুরোনো চাপের জায়গা নিয়ে দিয়েছে।
// আগে — এভাবে লিখতে হতো
function greet(name) {
name = name || "ব্যবহারকারী";
return "হ্যালো, " + name;
}
// এখন — default parameter
function greet(name = "ব্যবহারকারী") {
return "হ্যালো, " + name;
}ডিফল্ট মান শুধু তখনই বসে যখন আর্গুমেন্টটা undefined। যদি সরাসরি null বা 0 বা খালি string পাঠান, ডিফল্ট বসবে না — সেই মানটাই থাকবে।
function greet(name = "ব্যবহারকারী") {
return "হ্যালো, " + name;
}
greet(); // হ্যালো, ব্যবহারকারী
greet("Rahim"); // হ্যালো, Rahim
greet(""); // হ্যালো, — খালি string
// greet(null); // হ্যালো, null — ডিফল্ট বসে নাডিফল্ট মান হিসাব বা অন্য প্যারামিটারও হতে পারে, আর পরে থেকে আসা প্যারামিটারও আগেরটার উপর নির্ভর করতে পারে — কিন্তু শুধু আগের দিকের প্যারামিটার।
// ডিফল্ট এক্সপ্রেশন
function area(width, height = width * 2) {
return width * height;
}
area(5); // 50 — height = 10
area(5, 3); // 15
// বিপরীত ক্রম কাজ করবে না
// function bad(a = b, b = 2) {} // ReferenceErrorআরেকটি জিনিস হলো — ডিফল্ট প্যারামিটারের পরে বাকি প্যারামিটারগুলোতে ডিফল্ট দেওয়া যায় না, কারণ জানা যায় না কোনটির জন্য মান এসেছে।
|| আর ?? ছাড়াই ডিফল্ট ব্যবহার করতে পারলে কোড অনেক পরিষ্কার হয়। শুধু মনে রাখবেন, ডিফল্ট শুধু undefined-এর জন্য কাজ করে।