Callbacks

در جاوااسکریپت، Callback تابعی هست که به عنوان آرگومان به یک تابع دیگر داده می‌شود و بعد از اتمام عملیات آن تابع اجرا می‌شود.
Callbackها پایه‌ای برای برنامه‌نویسی غیرهمزمان (Asynchronous) و مدیریت رویدادها هستن.

🔹 تعریف Callback

function greet(name) { console.log("Hello " + name); } function processUser(name, callback) { callback(name); } processUser("Ali", greet);

📌 خروجی:

Hello Ali

🔹 Callback در Array Methods

بسیاری از متدهای آرایه از Callback استفاده می‌کنن، مثل: forEach, map, filter, reduce

let numbers = [1, 2, 3]; numbers.forEach(function(num) { console.log(num * 2); });

📌 خروجی:

2 4 6

مثال با map()

let numbers = [1, 2, 3]; let doubled = numbers.map(num => num * 2); console.log(doubled);

📌 خروجی:

[2, 4, 6]

🔹 Callback در برنامه‌نویسی غیرهمزمان

مثال با setTimeout:

function sayHello() { console.log("Hello after 2 seconds"); } setTimeout(sayHello, 2000);

📌 خروجی:

Hello after 2 seconds

نکته مهم

  • Callbackها می‌تونن سینکرون (همزمان) یا آسینکرون (غیرهمزمان) باشن.

  • اگر زیاد از Callbackهای تو در تو استفاده کنیم، به Callback Hell می‌رسیم.

✅ خلاصه

  • Callback تابعی هست که به عنوان آرگومان به تابع دیگری داده می‌شود.

  • پایه‌ای برای برنامه‌نویسی غیرهمزمان در جاوااسکریپت.

  • مثال‌ها: forEach, map, filter, setTimeout.

  • مراقب Callback Hell باشید و در صورت نیاز از Promises یا Async/Await استفاده کنید.