ডিফল্ট প্যারামিটার
এটি ফাংশন প্যারামিটার হ্যান্ডলিং সহজ করতে এসেছে। আপনি সহজে ডিফল্ট প্যারামিটার সেট করতে পারেন যাতে ফরমাল প্যারামিটারগুলো ডিফল্ট মান দিয়ে ইনিশিয়ালাইজ হয়। এটি শুধু তখনই কাজ করে যখন কোনো মান বা undefined পাস করা হয়।
উদাহরণ
<html>
<body>
<script>
// ডিফল্ট ১ সেট
function inc(val1, inc = 1) {
return val1 + inc;
}
document.write(inc(10, 10)); // 20
document.write("<br>");
document.write(inc(10)); // 11 (ডিফল্ট ব্যবহার)
</script>
</body>
</html>
আধুনিক উদাহরণ ও প্যাটার্ন
// একাধিক ডিফল্ট প্যারামিটার
function createUser(name, role = "user", permissions = ["read"]) {
return { name, role, permissions };
}
createUser("Alice"); // {name: "Alice", role: "user", permissions: ["read"]}
createUser("Bob", "admin"); // {name: "Bob", role: "admin", permissions: ["read"]}
createUser("Charlie", "editor", ["read", "write"]); // সব পাস
// ডিফল্ট এক্সপ্রেশন (লেজি ইভ্যালুয়েশন - প্রতি কলেই রান হয়)
function fetchData(url, options = { method: "GET", headers: {} }) {
// options নতুন অবজেক্ট প্রতি কলেই তৈরি হয়
}
// পূর্ববর্তী প্যারামিটার রেফারেন্স
function greet(greeting = "Hello", message = `${greeting}, World!`) {
console.log(message);
}
greet(); // "Hello, World!"
greet("Hi"); // "Hi, World!"
greet("Hi", "There"); // "There" (message ওভাররাইট)
সতর্কতা
nullপাস করলে ডিফল্ট কাজ করে না (শুধুundefinedবা অনুপস্থিত)- ডিফল্ট এক্সপ্রেশন প্রতি কলেই ইভ্যালুয়েট হয়
ডিফল্ট প্যারামিটার শেষে রাখুন