cafeamoozesh.com
87 subscribers
26 photos
5 videos
43 links
کافه آموزش مرجع تخصصی آموزش طراحی و برنامه نویسی وب


وب سایت : www.cafeamoozesh.com
پشتیبانی : @ sup_cafeamoozesh
تماس با ما : 2207077-0902
پاسخگویی همه روزه از ساعت ۱۰ الی ۱۸ بجز ایام تعطیل

مدیریت : وحیدصالحی
Download Telegram
تقریباً همه برنامه‌نویس‌های JavaScript حداقل یک‌بار با این سؤال روبه‌رو شده‌اند:

چرا var قبل از تعریف مقدار undefined برمی‌گرداند، اما let و const خطا می‌دهند؟ یا چرا بعضی توابع قبل از تعریف هم اجرا می‌شوند؟

خیلی‌ها اسم این رفتار را Hoisting می‌گذارند، اما واقعیت این است که Hoisting به معنی جابه‌جا شدن خطوط کد نیست.

این رفتار نتیجه مرحله Creation Phase در Execution Context است؛ جایی که موتور JavaScript قبل از اجرای برنامه، متغیرها و توابع را در حافظه ثبت می‌کند.

توی این مقاله سعی کردم Hoisting را از دید موتور JavaScript بررسی کنم، نه فقط از دید خروجی چند مثال.

اگر می‌خواهید رفتار واقعی موتور JavaScript را بهتر درک کنید و هنگام Debug کردن کدها کمتر غافلگیر شوید، این مقاله می‌تواند دید عمیق‌تری به شما بدهد.

🔗 مطالعه مقاله:
https://cafeamoozesh.com/javascript-hoisting-tutorial

#JavaScript #Hoisting #Frontend #SoftwareEngineering #NodeJS #CafeAmoozesh