آموزش ری اکت (قسمت سوم)

در مقالات آموزشی ری اکت در بخش اول و دوم توضیحاتی در این حیطه ارائه کردیم، به ادامه آموزش بپردازیم. 

بازگشت ضمنی (Implicit Return)

تابع‌های Arrow امکان داشتن مقادیر بازگشتی ضمنی را فراهم ساخته‌اند. این مقادیر بدون استفاده از کلیدواژه return بازگشت می‌یابند. طرز کار این بازگشت به این صورت است که گزاره‌های تک‌خطی در بدنه تابع به صورت زیر تعریف می‌شوند:

مثال دیگر زمانی است که یک شیء بازگشت می‌دهیم. دقت کنید که باید آکولادها را درون پرانتزها قرار دهید تا با پرانتزهای تشکیل دهنده بدنه تابع اشتباه گرفته نشوند:

طرز کار this در تابع‌های Arrow

This مفهومی است که شاید درک آن دشوار باشد، چون بسته به زمینه و همچنین بر اساس حالت جاوا اسکریپت (strict یا غیر آن) متفاوت است.

می‌بایست این نکته را روشن کنیم، زیرا تابع‌های Arrow به طرزی کاملاً متفاوت از تابع‌های معمولی عمل می‌کنند. زمانی که یک متد برای یک شیء تعریف می‌شود، در تابع معمولی this اشاره به شیء دارد و از این رو می‌توان کد زیر را داشت:

بدین ترتیب فراخوانی ()car.fullName مقدار “Ford Fiesta” را بازگشت می‌دهد.

دامنه this در تابع‌های Arrow از زمینه اجرایی به ارث می‌رسید. یک تابع Arrow به هیچ وجه به this اتصال نمی‌یابد و از این رو مقدار آن در پشته فراخوانی جستجو می‌شود. بدین ترتیب کدی مانند ()car.fullName کار نخواهد کرد و رشته “undefined undefined” را بازگشت می‌دهد:

به همین دلیل، تابع‌های Arrow به عنوان متدهای شیء مناسب نیستند. همچنین تابع‌های Arrow نمی‌توانند به عنوان سازنده (constructor) استفاده شوند، زیرا در هنگام مقداردهی اولیه یک خطای TypeError ایجاد می‌شود.

در این موارد باید از تابع‌های معمولی استفاده کرد که زمینه دینامیک مورد نیاز نیست. همچنین این مورد در هنگام مدیرت رویدادها، موجب ایجاد مشکل می‌شود. شنونده‌های رویداد DOM سعی می‌کنند this را روی عنصر هدف تنظیم کنند و اگر در handler رویداد روی this تکیه کنیم، به یک تابع معمولی نیاز خواهیم داشت:

آموزش ری اکت

Rest و Spread

می‌توان یک آرایه، یک شیء یا یک رشته را با استفاده از عملگر spread بسط داد. توضیح خود را با مثالی از آرایه آغاز می‌کنیم. فرض کنید:

شما می‌توانید یک آرایه جدید با کد زیر بسازید:

این کد برای شیء نیز به خوبی کار می‌کند. شیء را با دستور زیر کلون کنید:

دیدگاه شما:

نوشته های مرتبط

۲۲

تیر
مقالات

معرفی سامانه های املاک

نیازمندی‌های حوزه املاک یکی از دغدغه‌های افرادی است که قصد خرید، فروش و رهن و اجاره ملک را دارند. بسیاری از افراد مجبورند، ساعتهای زیادی را صرف یافتن و بازدید از ملک‌های مختلف نمایند تا ملک مورد نظر خود را […]

۲۸

خرداد
اخبار

اپلیکیشن جدید و رقیب کلاب هاوس معرفی شد + عکس

اپلیکیشن موبایل جدید “اسپاتیفای گرین روم” که به کاربران جهانی اجازه می دهد به اتاقهای صوتی زنده پیوسته یا میزبانی آنها را برعهده بگیرند و این مکالمات را به پادکست تبدیل کنند، از سوی شرکت اسپاتیفای عرضه شد. به گزارش[…]

۲۳

خرداد
تجارت, طراحی اپلیکیشن, طراحی سایت, مقالات

وب سایت یا اپلیکیشن کدام بهتر است؟

  مقایسه اپلیکیشن و سایت یکی از چالش‌های افرادی است که قصد انتخاب میان این دو را دارند. هنگامی که قصد تصمیم‌گیری انتخاب بین وب سایت یا اپلیکیشن را دارید، انتخاب مناسب‌ترین گزینه قطعا به هدف نهایی شما بستگی‌ دارد.[…]