تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ mrRS
use variable
محسن موحد حل شده توسط محسن موحد

دو دقیقه مونده به اخر ویدیو متغیر‌ها و انواع داده ها 

استاد میگه موتور جاوااسکریپت با کلمه کلیدی var  همه متغیر هارو میاره اول کد و اینطوری میشه قبل از لاین تعریف متغیر ازش استفاده کنیم ولی من هرچی میزنم undefined میزنه بعد تو درس تابع‌ها میگه نمیشه ! میشه راهنمایی کنید خیلی ممنون .

سلام،

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

مثال‌های این لینک بطور کامل گویای مسئله هست.

با توضیحی که گفتم، مثال زیر عدم انتقال رو نشون میده:

console.log(x); // undefined
var x = 10;

در مجموع، هویستینگ باعث می‌شود تعریف متغیرها و توابع در ابتدای اسکوپ منتقل شوند اما مقداردهی انجام نشود. ضمناً متغیرهای تعریف‌شده با کلمه کلیدی let و const هویستینگ نمی‌شوند.

بهترین پاسخ
محسن موحد ۱۸ آبان ۱۴۰۲، ۱۹:۲۶