Hoisting در جاوا اسکریپت

 به نام خدا با عرض سلام و احترام خدمت شما دوستان عزیز.در ادامه آموزش جاوا اسکریت این جلسه قصد داریم به مبحث Hoisting در جاوا اسکریپت بپردازیم.با ما همراه باشید.

Hoisting چیست؟

توابعی که با استفاده از  تابع اعلان تعریف می شوند به طور خودکار بالا می روند.این بدان معناست که می توان آنها را قبل از اینکه تعریف کرد فراخوانی کرد.

به عنوان مثال:

همانطور که می بینید، ما تابع  ()sayHello را قبل از تعریف آن فراخوانی کرده ایم، اما کد همچنان کار می کند.این به این دلیل است که تابع اعلان به طور خودکار در پشت صحنه به بالا می رود.

متغیر Hoisting

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

Hoisting در جاوا اسکریپت | Hoisting چیست؟

به عنوان مثال:

با این حال، جاوا اسکریپت فقط اعلان هایی را بالا میبرد که  از قبل استفاده مقدار دهی شده باشند..یعنی اگر متغیری پس از استفاده از آن اعلان ، مقداردهی اولیه شود، مقدار آن  undefinedخواهد شد.

به عنوان مثال:

 مثال دیگری و که رفتار hoisting  متغیر را در جاوا اسکریپت نشان می دهد:

 متغیر hoisting  ممکن است در نگاه اول کمی گیج کننده به نظر برسد، اما اگر این نمونه ها را با دقت مرور کنید، به راحتی متوجه خواهید شد که چگونه کار می کند.

توجه: به دلیل رفتار hoisting، تعریف کردن متغیرها در بالای محدوده فعلی بهترین روش در نظر گرفته می شود. همچنین استفاده از متغیر بدون اعلان درJavaScript strict mode مجاز نیست. 

خب دوستان گرامی به پایان بخش  Hoisting در جاوا اسکریپت رسیدیم امیدواریم مورد توجه شما قرار گیرد.
سایر مقالات:

 

 

 

 

 

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]
اشتراک‌گذاری

علی فرجی هستم، برنامه نویس جاوا اسکریپت و ریکت با بیش از 5 سال تجربه. من عاشق برنامه نویسیم و همیشه به دنبال یادگیری چیزهای جدید هستم.همچنین یکی از بنیانگذار های سایت کدایت ، یک سایت آموزش برنامه نویسی در حوزه جاوا اسکریپت، ریکت، اندروید و ... هستم. امیدوارم بتوانم با دانش و تجربه خود به سایر برنامه نویسان کمک کنم تا در این زمینه پیشرفت کنند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *