منظور از first class function در جاوااسکریپت

اول باید بدونیم معنی موجودیت درجه یک یا First class entity چی هست.

توی یک زبان برنامه‌نویسی، موجودیت‌ها مثل متغیرها و توابع، یک سری عملیات مثل پاس داده‌شدن به‌عنوان یک آرگومان، به خروجی فرستاده شدن توی یک تابع، ویرایش شدن و به یک متغیر نسبت داده شدن رو رو پشتیبانی می‌کنن. یک موجودیت درجه یک به موجودیتی گفته میشه که از همه‌ی عملیات پشتیبانی کنه! به موجودیت درجه یک، آبجکت درجه یک هم گفته میشه.

توابع توی جاوااسکریپت موجودیت‌های درجه یک هستن. یعنی می‌تونن به عنوان یک آرگومان به یک تابع دیگه پاس داده بشن، به عنوان خروجی یک تابع در نظر گرفته بشن و به یک متغیر نسبت داده بشن. توی کد زیر همه‌ی این عملیات رو می‌بینیم:

let func = function passAsArg(value, callback) {
    return callback(value);
}

func('value', alert);


منبع:

dev.to




همچنین بخوانید:

اسکوپ (scope) در جاوااسکریپت چیست؟

هویستینگ (Hoisting) در جاوااسکریپت چیست؟

بررسی (let - var - const) در جاوااسکریپت

تفاوت دو مساوی (==) و سه مساوی (===) در جاوااسکریپت

بررسی متدهای تعامل با کاربر در جاوااسکریپت : alert , prompt, confirm

استفاده از عبارت 'use strict' در جاوااسکریپت

کار با توابع یا Functions در جاوااسکریپت

مقایسه توابع Declarations و Expressions در جاوااسکریپت

بررسی Callback Function در جاوااسکریپت

تفاوت عملگرهای Spread و Rest در جاوااسکریپت

پارامتر پیشفرض(Default Parameter) در جاوااسکریپت

بررسی arguments در توابع جاوااسکریپت

بررسی پروتوتایپ (Prototype) در جاوااسکریپت

بررسی Arrow Functions در جاوااسکریپت

بررسی Functions Calling Other Functions در جاوااسکریپت

بررسی آرایه (Array) در جاوااسکریپت

بررسی اشیاء یا آبجکت (objects) در جاوااسکریپت

بررسی حلقه‌ها (Loops) در جاوااسکریپت

بررسی انتخابگرها (Selectors) در جاوااسکریپت

بررسی innerHTML در جاوااسکریپت

بررسی DOM در جاوااسکریپت، آموزش متد querySelector

بررسی نحوه عملکرد جاوا اسکریپت در پشت صحنه

بررسی مفهوم Execution Context در جاوااسکریپت - پشت‌ پرده جاوااسکریپت (بخش اول)

بررسی مفهوم Execution Context در جاوااسکریپت - پشت‌ پرده جاوااسکریپت (بخش دوم)

تعریف API (Application Programming Interface) به زبان ساده!

دِستراکچرینگ (Destructuring) در جاوااسکریپت یعنی چه؟

بررسی عملگر (...) Spread در جاوااسکریپت

بررسی پارامترهای Rest در جاوااسکریپت

اتصال کوتاه (Short Circuiting) با عملگرهای منطقی AND (&&) و OR (||) در جاوااسکریپت

اتصال کوتاه (Short Circuiting) با عملگر منطقی Nullish coalescing (??) در جاوااسکریپت

حلقه for ... of در جاوااسکریپت

بررسی Enhanced Object literals در جاوااسکریپ

بررسی Optional Chaining (_.) در جاوااسکریپت

بررسی کاربرد Map و Set در جاوااسکریپت (مقدماتی)

بررسی کاربرد Map و Set در جاوااسکریپت (پیشرفته)

پارامتر پیشفرض (default parameter) در جاوااسکریپت