Understand how First-Class & Higher-Order Function works with Fullstackgada
myFunc
(reference) vs myFunc()
(turant call)
Concept | πΈ First-Class Functions | π Higher-Order Functions |
---|---|---|
Definition | Functions ko values ki tarah treat karna | Functions jo doosre functions ko accept ya return karte hain |
Capabilities | Assign, Pass, Return functions | Functions ko parameters ke roop mein lena, Functions return karna |
Examples | let fn = myFunction; fn(); | array.map(fn), array.filter(fn) |
Use Cases | Dynamic function assignment, Callbacks | Data transformation, Event handling, Composition |
Jethalal ki Misal | Photo ko wallet mein rakhna (variable assignment) | Photo ko frame karne wala function (wrapper function) |
Function | Kaam | Return Karta Hai | Misal |
---|---|---|---|
map() | Har element ko transform karta hai | Transformed elements ke saath nayi array | arr.map(x => x * 2) |
filter() | Condition ke hisaab se elements chunta hai | Filtered elements ke saath nayi array | arr.filter(x => x > 5) |
reduce() | Array ko ek single value mein convert karta hai | Ek accumulated value | arr.reduce((a,b) => a+b, 0) |
forEach() | Har element ke liye function chalata hai | undefined (sirf side effects) | arr.forEach(x => console.log(x)) |
find() | Pehla matching element dhundta hai | Pehla matching element ya undefined | arr.find(x => x.name === "Jethalal") |
some() | Check karta hai koi element match karta hai ya nahi | true/false | arr.some(x => x > 10) |
every() | Check karta hai sab elements match karte hain ya nahi | true/false | arr.every(x => x > 0) |