تابع Arrow در جاوا اسکریپت | به زبان ساده


جاوا اسکریپت یک زبان برنامهنویسی بسیار متداول است کدنویسی در این زبان به شیوهای که حتی با وجود خطا اجرا شود نیز آسان است. در این مقاله به بررسی شیوه تعریف و استفاده از تابع Arrow در جاوا اسکریپت به تمیزترین روش ممکن میپردازیم.
عبارتهای چندخطی
اگر عبارتی چند خط داشته باشید، باید آن را درون پرانتز قرار دهیم تا خواناتر شود. در مورد یک تابع Arrow که عبارت جاوا اسکریپت آنها طولانی است و در چند خط جای میگیرد، باید این عبارت را درون پرانتز قرار دهیم. این حالت در مورد آن عبارتهای Arrow اعمال میشود که آکولاد ندارند.
برای نمونه اگر تابع Arrow ما یک شیء بازگشت میدهد، در این صورت باید آن را به صورت زیر بنویسیم:
در کد فوق عبارت شیء خود را در پرانتز قرار دادهایم، به طوری که میتوانیم شیء را در زمانی که تابع foo فراخوانی میشود بازگشت دهیم. قرار دادن شیء درون پرانتز به ما امکان میدهد که به جای این که به صورت آکولاد برای بدنه تابع با آن برخورد کنیم آن را بازگشت دهیم. از این رو باید عبارتها را درون آکولاد قرار دهیم.
استفاده از پرانتز برای پارامترها
در امضای تابعهای Arrow در صورتی که تابع تنها یک پارامتر داشته باشد، میتوان از پرانتز استفاده نکرد. در غیر این صورت باید پرانتز بیاوریم. با این حال که میتوان پرانتز را از امضای این تابعها حذف کرد، اما بهتر است آنها را همواره بیاوریم تا امضای تابع روشنتر باشد و کد انسجام بیشتری با تعارف تابعهای دیگر داشته باشد.
برای نمونه در کد زیر از پرانتز در امضای تابع استفاده کردهایم:
ساختار تابع Arrow را با عملگرهای مقایسهای اشتباه نکنید
فلش عریض در تابع Arrow شبیه عملگرهای مقایسهای است، چون هر دوی آنها از علامت مساوی و بزرگتر و کمتر تشکیل یافتهاند. برای این که تمییز تابعهای Arrow ما از عبارتهای مقایسهای آسانتر باشد، باید پرانتز را پیرامون عبارتها قرار دهیم. برای نمونه میتوانیم کدی مانند زیر برای یک تابع Arrow بنویسیم:
چنان که میبینید بدنه تابع و امضای آن را درون پرانتز قرار دادهایم، به طوری که میدانیم با یک تابع Arrow سر و کار داریم. از روی این پرانتزها میتوانیم به وضوح ببینیم که عبارت مقایسهای به صورت a<=1 است. اگر پرانتزها را نمیگذاشتیم، در این صورت تشخیص بین یک تابع و عبارت مقایسهای کار دشواری میشد. بنابراین اگر کدی مانند زیر داشته باشیم:
به سختی میتوان گفت که تابع Arrow کجا است و عبارت مقایسهای کجا قرار دارد. در مورد تابعهای طولانیتر باید از آکولاد برای جداسازی بدنه تابع به صورت زیر استفاده کنیم:
در کد فوق، بدنه تابع را درون آکولاد قرار دادهایم تا هر کس به روشنی ببیند که بدنه تابع کجا است.
استفاده از عبارتهای بازگشتی صریح
با تصریح مقدار بازگشتی در یک تابع Arrow مطمئن میشویم که موقعیت عبارت بازگشتی سازگار است. این عبارت باید در خط نخست تابع Arrow باشد. با این حال بقیه عبارت میتواند در خطوط زیرین قرار داشته باشد. برای نمونه میتوانیم تابعی مانند کد زیر بنویسیم:
در کد فوق، عبارت صریح بازگشتی را در خط نخست داریم. میتوانیم به چند روش آن را در خط نخست قرار دهیم. اگر عبراتی که بازگشت میدهیم را درون پرانتز قرار دهیم، در این صورت میتوانیم عبارت خود را به خط دوم انتقال دهیم. این وضعیت را در تابع baz میبینید. با این حال مهمترین نکته این است که آغاز عبارت بازگشتی در خط نخست باشد که در صورت اضافه شدن پرانتز شامل آن نیز خواهد بود.
سخن پایانی
زمانی که از تابعهای Arrow استفاده میکنیم، باید در مورد عبارتهای بازگشتی صریح مراقب باشیم. عبارتی که بازگشت میدهیم باید از خط نخست آغاز شود. اگر عبارتی که بازگشت میدهیم در چند خط جای میگیرد، در این صورت باید آن را درون پرانتز قرار دهیم. ضمناً باید از بروز سردرگمی در نتیجه استفاده از عبارتهای مقایسهای بزرگتر یا کمتر جلوگیری کنیم. این عبارتها باید درون پرانتز قرار گیرند و یا در صورتی که تابعهای Arrow چندخطی داریم، بهتر است کل بدنه تابع را درون آکولاد قرار دهیم.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای جاوا اسکریپت
- آموزش JavaScript ES6 (جاوا اسکریپت)
- مجموعه آموزشهای برنامهنویسی
- مفهوم Callback در جاوا اسکریپت — به زبان ساده
- ریداکس (Redux) — مبانی مقدماتی
==