ডিফল্ট প্যারামিটার
ডিফল্ট প্যারামিটার ফাংশন প্যারামিটার হ্যান্ডলিং সহজ করতে এসেছে। এটি ফরমাল প্যারামিটারগুলিকে ডিফল্ট মান দিয়ে ইনিশিয়ালাইজ করার অনুমতি দেয়। এটি শুধু তখনই কাজ করে যখন কোনো মান বা 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>
প্যারামিটার বিনা ডিফল্ট, ডিফল্টের পর (ES6 আচরণ)
নিচের কোড সঠিকভাবে চলে, লেফট-টু-রাইট প্যারামিটার ইভ্যালুয়েশন দেখায়। ডিফল্ট প্যারামিটারও ওভাররাইট হয় এমনকি প্যারামিটার بعده বিনা ডিফল্ট থাকলেও।
<html>
<body>
<script>
function display(val1 = 10, val2) {
return [val1, val2];
}
document.write(display()); // [10, undefined]
document.write(display(20)); // [20, undefined]
</script>
</body>
</html>
বেস্ট প্র্যাকটিস: ডিফল্ট প্যারামিটার শেষে রাখুন
// ✅ ভালো - ডিফল্ট প্যারামিটার শেষে
function good(a, b, c = 10, d = 20) { }
// ❌ ঝামেলাদার - ডিফল্টের পর নন-ডিফল্ট
function confusing(a, b = 10, c) { }
// ডিফল্ট এক্সপ্রেশন (লেজি ইভ্যালুয়েশন)
function lazy(defaultValue = computeExpensive()) { }
// পূর্ববর্তী প্যারামিটার রেফারেন্স
function ref(a = 1, b = a + 1) { } // b = 2