آموزش کاربرد علامت تعجب قبل از توابع در Javascript

دسته بندی: آموزش
زمان مطالعه: 2 دقیقه
۰۹ مرداد ۱۳۹۷

آموزش کاربرد علامت تعجب قبل از توابع در Javascript

در برخی از کدها گاها دیده میشه که قبل از تابع از علامت تعجب استفاده شده. در این مطلب می‌خوایم دلیل استفاده از علامت تعجب قبل از توابع رو خدومتتون توضیح بدیم.

در Javascript، تابع می‌تونه به شکل زیر تعریف بشه:

function foo() {}

دقت کنید که در کد بالا از semicolon استفاده نشده. در این کد تابع foo صرفا معرفی شده و برای اجرا کردن این تابع باید اون رو بصورت foo() فراخوانی کنید. به این نوع function declaration میگن.

اما اگر از علامت تعجب استفاده بشه و به جای دستور function foo() {}  از !function foo() {} کمک بگیرید و با اینکار دیگه function declaration نیست و function expression محسوب میشه. علامت تعجب به تنهایی باعث فراخوانی و اجرا شدن تابع مورد نظر نمیشه ولی میتونیم با قرار دادن () در آخر تعریف تابع، بصورت مستقیم اون رو فراخوانی کنیم. یعنی به یکباره هم تابع مورد نظر رو تعریف کردیم و هم اون رو فراخوانی کردیم.

یک نمونه کد که خوانایی بالاتری هم داره، IIFE‌ها هستن که دقیقا همین کار رو انجام میدن و تابع رو بلافاصله بعد از تعریف شده، فراخوانی میکنن. بصورت زیر:

(function(){})();

زمانی که از IIFE‌ها استفاده میکنید، undefined هم معمولا در console چاپ میشه و به این دلیل هست که شما در IIFE زیاد از return استفاده نمیکنید و چیزی رو برگشت نمیدید. اما وقتی از علامت تعجب یا نقیض قبل از تابع استفاده میکنید، با توجه به حالتهای مختلف، true و false در console چاپ میشه.

اگر چیزی رو return نکنید، پس بصورت ضمنی undefined برگشت داده میشه و !undefined برابر با true میشه. اما اگر مقدار true یا چیزی که true باشه رو برگشت بدید، !true برابر با false میشه. این مورد شاید خیلی کاربرد نداشته باشه ولی بهتره که اون رو بدونین.

چه امتیازی به این مقاله می دید؟
نویسنده محمد اسفندیاری
بسیار به طراحی وب علاقمندم و به سرعت در حال یادگیری تمام مباحث پیشرفته هستم و دوست دارم که به دیگران هم یاد بدهم.
ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !