انواع توابع در JavaScript
توابع در JavaScript ضروری هستند. آنها کد شما را سازماندهی میکنند، از تکرار جلوگیری میکنند و نگهداری برنامهها را آسان میسازند.
یک تابع را مانند یک ماشین تصور کنید. شما ورودی میدهید، آن وظیفهای را انجام میدهد و خروجی را به شما تحویل میدهد.
در اینجا انواع مختلف توابعی که باید بشناسید آورده شده است:
• اعلان تابع (Function Declaration)
اینها توابع نامدار هستند و از hoisting پشتیبانی میکنند.
مثال:
function greet() {
console.log("Hello World");
}
• عبارت تابع (Function Expression)
شما یک تابع را درون یک متغیر ذخیره میکنید.
مثال:
const greet = function() {
console.log("Hello");
};
• تابع بینام (Anonymous Function) تابعی بدون نام. این توابع اغلب یک بار اجرا شده و سپس از بین میروند.
• تابع پیکانی (Arrow Function)
سینتکس کوتاهی که در ES6 معرفی شد. این توابع در React بسیار رایج هستند.
مثال:
const add = (a, b) => a + b;
• پارامترها و آرگومانها (Parameters and Arguments)
پارامترها جایگاههای رزرو شده هستند، در حالی که آرگومانها مقادیر واقعی هستند که شما ارسال میکنید.
مثال:
function greet(name) { // name is a parameter
console.log(name);
}
greet("John"); // "John" is an argument
• تابع با مقدار بازگشتی (Return Function) تابعی که مقداری را به فراخواننده (caller) بازمیگرداند. این کار به شما اجازه میدهد از نتیجه دوباره استفاده کنید.
• تابع کالبک (Callback Function) تابعی که به عنوان یک آرگومان به تابع دیگری پاس داده میشود.
• تابع مرتبه بالا (Higher Order Function) تابعی که یک تابع دیگر را دریافت میکند یا یک تابع را برمیگرداند.
• عبارت تابع فراخوانی فوری (IIFE) تابعی که به محض ایجاد شدن، اجرا میشود.
• تابع سازنده (Constructor Function) برای ساخت اشیاء متعدد از یک قالب واحد استفاده میشود.
• تابع بازگشتی (Recursive Function) تابعی که خودش را فراخوانی میکند.
• تابع مولد (Generator Function)
با استفاده از کلمه کلیدی yield مقادیر را یکی یکی ایجاد میکند.
• تابع ناهمگام (Async Function)
برای کارهایی مانند فراخوانی API استفاده میشود. این تابع به شما اجازه میدهد از کلمه کلیدی await برای مدیریت زمانهای انتظار استفاده کنید.
• تابع تودرتو (Nested Function) تابعی که درون تابع دیگری تعریف شده است. تابع داخلی میتواند به متغیرهای تابع بیرونی دسترسی داشته باشد.
• تابع خالص (Pure Function) تابعی که همیشه برای ورودی یکسان، خروجی یکسانی تولید میکند. این تابع دادههای خارجی را تغییر نمیدهد.
• تابع با پارامتر باقیمانده (Rest Parameter Function) از سه نقطه (...) برای پذیرش هر تعداد آرگومان استفاده میکند. این تابع مانند یک سبد خرید عمل میکند که میتواند هر مقداری از کالاها را در خود نگه دارد.
Source: https://www.geeksforgeeks.org/javascript/functions-in-javascript/ Optional learning community: https://dev.to/annapoo/types-of-functions-in-javascript-105