توابع Arrow (Arrow Functions) - آزمون آنلاین جاوااسکریپت
آزمون توابع Arrow در جاوااسکریپت
اینجا یک فرصت عالی داری تا دانش و تسلطت رو در مورد توابع Arrow، که یکی از ویژگیهای مهم و کاربردی در زبان برنامه نویسی جاوااسکریپت هست، محک بزنی.
این آزمون بهت کمک میکنه با چالشهایی روبرو بشی که شاید قبلاً بهشون فکر نکرده باشی و در عین حال اطلاعاتت رو در این زمینه کامل کنی.

توابع Arrow چیست و چرا مهم است؟
شاید توابع Arrow رو با سینتکس کوتاهشون بشناسی. در واقع این توابع راهی برای نوشتن توابع به صورت فشردهتر و زیباتر هستن. اما کاربردشون فقط به این خلاصه نمیشه.
توابع Arrow به خصوص در ES6 به بعد، برای حل مشکلاتی مثل مسئله this در توابع کلاسیک معرفی شدن و استفاده از اونها در خیلی از بخشهای کد، مثل متدهای آرایه، کدنویسی رو سادهتر میکنه.
این توابع یک سری ویژگیهای خاص دارن که باید بهشون دقت کنی:
- سینتکس کوتاه و خوانا: دیگه نیازی به کلمه کلیدی
functionنیست. میتونی توابع رو به شکلی مختصر و مفید بنویسی. thisلغوی: توابع Arrow مقدارthisرو از محیط بیرونی خودشون به ارث میبرن و همین باعث میشه در خیلی از موارد از دردسر باthisخلاص بشی.- عدم وجود
arguments: در توابع Arrow بهargumentsدسترسی نداری، اما میتونی از پارامترهای بقیه مثل rest parameters استفاده کنی.
نمونههایی از توابع Arrow
برای اینکه بهتر با کاربرد این توابع آشنا بشی، چند تا مثال ساده رو با هم ببینیم. این مثالها نشون میدن که چطور میشه توابع رو از حالت کلاسیک به Arrow تبدیل کرد و کد رو کوتاهتر کرد.
مثال ۱: تابع ساده جمع
// تابع کلاسیک
function sum(a, b) {
return a + b;
}
// تابع Arrow
const sum = (a, b) => a + b;
مثال ۲: استفاده از توابع Arrow در متدهای آرایه
// تابع کلاسیک با متد map
const numbers = [1, 2, 3];
const doubled = numbers.map(function(number) {
return number * 2;
});
// تابع Arrow با متد map
const numbers = [1, 2, 3];
const doubled = numbers.map(number => number * 2);
آشنایی با سوالات آزمون
سوالاتی که در این آزمون باهاشون روبرو میشی، به تو کمک میکنه که مهارت و تسلطت رو در مورد توابع Arrow بسنجی و همزمان اطلاعات خوبی درباره این موضوع به دست بیاری.
در این آزمون، سوالاتی در مورد موارد استفاده درست از توابع Arrow، تفاوتشون با توابع معمولی و همچنین نحوه استفاده از اونها در شرایط مختلف طراحی شده. مثلاً ممکنه سوالی در مورد تفاوت this در توابع معمولی و Arrow یا نحوه استفاده از اونها در callback ها داشته باشیم.
شرکت در این آزمون بهت این امکان رو میده که با نکات پنهان و کاربردهای کمتر شناخته شده این توابع هم آشنا بشی و در نهایت، یک قدم بزرگ به سمت کدنویسی حرفهایتر برداری.
جدول مقایسه توابع Arrow و توابع معمولی
برای اینکه تفاوتها رو به صورت دقیقتر ببینی، یک جدول مقایسه آماده کردم:
| ویژگی | توابع Arrow | توابع معمولی (Function Expression) |
|---|---|---|
| سینتکس | کوتاه و مختصر | طولانی و کامل |
this |
this لغوی (از محیط بیرونی) |
this پویا (بسته به نحوه صدا زدن تابع) |
کلمه کلیدی function |
ندارد | دارد |
آبجکت arguments |
ندارد | دارد |
آمادهای برای شروع؟
با کلیک روی دکمه شروع، میتونی در این آزمون شرکت کنی و دانش خودت رو در مورد توابع Arrow به چالش بکشی. منتظر چی هستی؟