JavaScript Functions کی اقسام
فنکشنز JavaScript کے بنیادی اجزاء ہیں۔ یہ آپ کو کوڈ کو منظم کرنے اور تکرار سے بچنے میں مدد دیتے ہیں۔
ایک فنکشن کو ایک مشین کے طور پر سوچیں۔ آپ ان پٹ فراہم کرتے ہیں، مشین ایک کام کرتی ہے، اور وہ آپ کو آؤٹ پٹ دیتی ہے۔
یہاں فنکشنز کی مختلف اقسام ہیں جن کے بارے میں آپ کو جاننا چاہیے:
• Function Declaration: ایک نام شدہ فنکشن جسے آپ کہیں بھی کال کر سکتے ہیں۔ یہ hoisting کو سپورٹ کرتا ہے۔
• Function Expression: آپ ایک فنکشن کو ویری ایبل کے اندر محفوظ کرتے ہیں۔ یہ hoisting کو سپورٹ نہیں کرتا۔
• Anonymous Function: ایک فنکشن جس کا کوئی نام نہ ہو۔ آپ اکثر انہیں ایک بار کے کاموں کے لیے استعمال کرتے ہیں۔
• Arrow Function: فنکشنز لکھنے کا ایک مختصر طریقہ۔ یہ React جیسے جدید فریم ورکس میں عام ہیں۔
• Callback Function: ایک فنکشن جسے آپ دوسرے فنکشن میں بطور argument پاس کرتے ہیں۔
• Higher Order Function: ایک فنکشن جو دوسرے فنکشن کو وصول کرتا ہے یا واپس (return) کرتا ہے۔
• IIFE: ایک فنکشن جو بناتے ہی فوراً چل جاتا ہے۔
• Constructor Function: نئے objects بنانے کے لیے استعمال ہونے والا فنکشن۔
• Recursive Function: ایک فنکشن جو کسی مسئلے کو حل کرنے کے لیے خود کو کال کرتا ہے۔
• Generator Function: ایک فنکشن جو ایک ایک کر کے values پیدا کرتا ہے۔
• Async Function: ایسے کاموں کے لیے استعمال ہونے والا فنکشن جن میں وقت لگتا ہے، جیسے کسی API سے ڈیٹا حاصل کرنا۔
• Nested Function: ایک فنکشن جو دوسرے فنکشن کے اندر ہوتا ہے۔
• Pure Function: ایک ایسا فنکشن جو ہمیشہ ایک ہی input کے لیے ایک ہی output دیتا ہے اور بیرونی ڈیٹا کو تبدیل نہیں کرتا۔
• Rest Parameter: ایک طریقہ جس کے ذریعے فنکشن کسی بھی تعداد میں arguments قبول کر سکتا ہے۔
ان پیٹرنز کو سمجھنے سے آپ کا کوڈ زیادہ صاف ستھرا اور قابلِ پیش گوئی (predictable) ہو جاتا ہے۔
Source: https://www.geeksforgeeks.org/javascript/functions-in-javascript/
Optional learning community: https://dev.to/annapoo/types-of-functions-in-javascript-105