Showing posts with label Coding Tips. Show all posts
Showing posts with label Coding Tips. Show all posts

Saturday, 22 March 2025

JavaScript ES6: Understanding Default Parameters

JavaScript ES6: Understanding Default Parameters

JavaScript ES6: Understanding Default Parameters

🎯 What Are Default Parameters in JavaScript?

Imagine going to a coffee shop, and the barista automatically gives you a cappuccino because you didn't specify your order. That’s what JavaScript ES6 Default Parameters do! 🎉

📌 Before ES6: The Struggle Was Real

Before ES6, we had to manually check if a function parameter was provided. If not, we assigned a default value like this:

const greet = (name) => {
    name = name || 'Stranger';
    console.log(`Hello, ${name}!`);
}

greet('Alice'); // Output: Hello, Alice!
greet(); // Output: Hello, Stranger!
        

This was okay but not elegant. JavaScript developers wanted a cleaner solution. And then came ES6... 🚀

✅ ES6 Default Parameters: The Smart Way

With ES6, we can directly assign default values in the function parameters. Check this out:

const greet = (name = 'Stranger') => {
    console.log(`Hello, ${name}!`);
}

greet('Alice'); // Output: Hello, Alice!
greet(); // Output: Hello, Stranger!
        

Much cleaner, right? No more `name = name || 'Stranger'` nonsense! 😎

🤔 Why Use Default Parameters?

  • 💡 Prevents `undefined` values
  • 🚀 Simplifies code
  • ⏳ Saves time (because we devs are lazy 😂)
  • 🎯 Improves code readability

🛠 More Fun with Default Parameters

Example 1: Calculating Discounted Price

const calculatePrice = (price, discount = 0.10) => {
    return price - (price * discount);
}

console.log(calculatePrice(100)); // Output: 90
console.log(calculatePrice(100, 0.20)); // Output: 80
        

Example 2: Multiplication Table

const multiplicationTable = (num = 1) => {
    for(let i = 1; i <= 10; i++) {
        console.log(`${num} x ${i} = ${num * i}`);
    }
}

multiplicationTable(5); // Outputs table of 5
multiplicationTable(); // Outputs table of 1
        

🚀 Advanced Use Cases

Default Parameters with Objects

const userInfo = (user = { name: 'Guest', age: 18 }) => {
    console.log(`User: ${user.name}, Age: ${user.age}`);
}

userInfo({ name: 'Alice', age: 25 });
userInfo();
        

Using Functions as Default Parameters

const randomNumber = () => Math.floor(Math.random() * 100);

const showNumber = (num = randomNumber()) => {
    console.log(`Generated number: ${num}`);
}

showNumber(); // Outputs a random number
showNumber(42); // Outputs 42
        

🎉 Final Thoughts

Default Parameters in ES6 are a game-changer! They make your code cleaner, smarter, and easier to read. Now, go and use them in your projects! 🚀

🔗 Share This Article

Share on Twitter
Share:

How to create a string character map in JavaScript

স্ট্রিং ক্যারেক্টার ম্যাপ তৈরি করার সহজ উপায়: জাভাস্ক্রিপ্ট উদাহরণ

 

 


হে সুন্দর মানুষজন,

আজকে আমি ক্যারেক্টার ম্যাপ নিয়ে আলোচনা করবো, অর্থাৎ কিভাবে একটি স্ট্রিং এর ক্যারেক্টার ম্যাপ তৈরি করতে হয় তা দেখবো। কোনো একটি স্ট্রিং এর ক্যারেক্টার ম্যাপ তৈরি করতে পারলে খুব সহজেই স্ট্রিং রিলেটেড অনেক সমস্যা সমাধান করা যায়। তো বেশি বক-বক নাহ করে জেনে নেওয়া যাক যে ক্যারেক্টার ম্যাপ কী?

স্ট্রিং কাকে বলে ?

আমরা তো সবাই জানি যে স্ট্রিং কি বা কাকে বলে । একদম সহজ ভাবে বলতে গেলে জাভাস্ক্রিপ্টে সিঙ্গেল বা ডাবল কোটেশানের মাঝে যাই থাকে তাকেই স্ট্রিং বলে । স্ট্রিং মুলত কতগুলো ক্যারেক্টারের সমষ্টি ।

ক্যারেক্টার ম্যাপ কী ?

কোনো একটা স্ট্রিং এ কি কি ক্যারেক্টার আছে তার লিস্ট করা সাথে কোন ক্যারেক্টার কতোবার আছে তার হিসেব করা । যেমন ধরি, আমাদের কাছে "babu" নামে একটি স্ট্রিং আছে, তাহলে এর ক্যারেক্টার ম্যাপ হবে এইরকম :-

{
    b: 2,
    a: 1,
    u: 1
}

আমরা দেখতে পাইতেছি যে, "babu" নামের এই স্ট্রিং টাতে কিন্তু b ক্যারেক্টার দুইটি তাই b : 2 এমনভাবে দেখাচ্ছে এবং a,u একটি করে তাই তাদের পরিমাণটাও একটি(1) করে দেখাচ্ছে।

ক্যারেক্টার ম্যাপ তৈরি করার সুবিধা কী ?

কোনো একটি স্ট্রিং এর ক্যারেক্টার ম্যাপ তৈরি করে খুব সহজেই বিভিন্ন স্ট্রিং রিলেটেড সমস্যা সমাধান করতে পারবেন যেমন -

১। স্ট্রিং এ সবচেয়ে কমন ক্যারেক্টার কোনটি বা কোনগুলো ?

২। স্ট্রিং টি অ্যানাগ্রাম কি নাহ ?

৩। স্ট্রিং এ কোনো রিপিটেড ক্যারেক্টার আছে কি নাহ ?

- ক্যারেক্টার ম্যাপ তৈরি -

const characterMap = (str) => {
  const charMap = {};
  str.split("").forEach((char) => {
    if (charMap[char]) {
      charMap[char]++;
    } else {
      charMap[char] = 1;
    }
  });

  return charMap;
};

আমাদের ক্যারেক্টার ম্যাপ তৈরি, এখন চেক করে দেখা যাক যে ঠিক-ঠাক উত্তর দিচ্ছে কি নাহ ?

const charMap = characterMap("babu");
console.log(charMap)

OUTPUT :

{
    b: 2,
    a: 1,
    u: 1
}

সবকিছু ঠিক-ঠাক । তবে একটা কথা বলে রাখা ভালো যে আপনি অনেক ভাবেই ক্যারেক্টার ম্যাপ তৈরি করতে পারেন । আপনাকে যে উপরোক্ত ভাবেই ক্যারেক্টার ম্যাপ তৈরি করতে হবে সেই রকম কোনো বাধা-ধরা নিয়ম নেই ।

- Another way to create CharacterMap -

const characterMap = (str) => {
  const charMap = {};
  for (let char of str) {
    charMap[char] ? charMap[char]++ : (charMap[char] = 1);
  }

  return charMap;
};

- Check it -

const charMap = characterMap("hello");
console.log(charMap)

OUTPUT :

{
    h: 1,
    e: 1,
    l: 2,
    o:1
}

আশা করি বুঝতে পারছেন। ধন্যবাদ সবাইকে ।

Share: