Arrow Functions in JavaScript
Arrow functions (=>) provide a shorter syntax for writing functions and behave differently from regular functions in terms of this.
🔹 Basic Syntax
✔ No need for the function keyword.
✔ Implicit return when there's only one expression.
🔹 When to Use Arrow Functions
1️⃣ Single Parameter (No Parentheses Needed)
✔ Parentheses are optional if there's only one parameter.
2️⃣ No Parameters (Requires Empty Parentheses)
3️⃣ Multi-line Function (Requires {} and return)
✔ Explicit return needed when using {}.
🔹 this in Arrow Functions
Unlike regular functions, arrow functions do not have their own this. Instead, they inherit this from their surrounding scope.
🟢 Example: Arrow Function and this
✔ The arrow function inherits this from person.
⚠️ Regular Function vs Arrow Function
❌ Regular functions have their own this, so it refers to window (or undefined in strict mode).
🔹 Arrow Functions Can’t Be Used For
1️⃣ this-dependent Methods
❌ Arrow functions don’t bind this, so this.name is undefined.
2️⃣ arguments Object (Not Available in Arrow Functions)
✔ Use rest parameters instead:
3️⃣ Constructors (new Keyword Not Allowed)
✔ Use regular functions for constructors.
🎯 Summary
✔ Shorter syntax than regular functions.
✔ Implicit return when using a single expression.
✔ Does not have this, arguments, or new.
✔ Useful for callbacks, but not for methods or constructors.
🚀 Arrow functions make JavaScript cleaner and more readable! Let me know if you have any questions. 😊

