دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۴۱ : رفتار Hoisting در جاوا اسکریپت

  • دسته‌بندی‌ها :
جلسه ۴۱ : رفتار Hoisting در جاوا اسکریپت
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

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

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

      در ادامه ی این مبحث شما را با مفهوم کلی رفتار Hoisting در جاوا اسکریپت و نمونه هایی از آن اشنا می کنیم.

      Hoisting در جاوا اسکریپت یک رفتار پیش فرض است که تعاریف را (مانند تعریف متغیرها) را به بالا می برد.

      تعاریف در جاوا اسکریپت Hoist شده است

      در جاوا اسکریپت می توان یک متغیر را بعد از استفاده کردن، تعریف کرد!

      و یا به عبارتی دیگر یک متغیر را می توان قبل از تعریف کردن استفاده کرد.

      دو مثال زیر یک نتیجه را به دنبال خواهند داشت :

      مثال : مثال-1 hoisting
      خودتان امتحان کنید »

      مثال : مثال-2 hoisting
      خودتان امتحان کنید »

      با درک مثال های فوق، شما مفهوم “hoisting” را نیز درک خواهید کرد.

      کلمات کلیدی let یا const

      در جاوا اسکریپت متغیرها و ثابت ها با کلمات کلیدی let یا const تعریف می شوند.

      مقداردهی در جاوا اسکریپت hoist نیست

      جاوا اسکریپت فقط برای تعاریف رفتار hoist دارد، ما درباره ی مقداردهی اینگونه نیست.

      دو مثال زیر نتایج یکسانی ندارند :

      مثال : مثال-1 مقداردهی اولیه
      خودتان امتحان کنید »

      مثال : مثال -2 مقداردهی اولیه
      خودتان امتحان کنید »

      آیا معنا این است که y در مثال آخر تعریف نشده است؟

      این به این علت است که فقط اعلام (var y)، نه مقدار اولیه (= ۷) به بالا برسد.

      به دلیل بالا بردن، y پیش از استفاده از آن اعلام شده است، اما چون مقداردهی نشده است، مقدار  y مشخص نیست.

      حالا مثال دوم را می توان به صورت زیر نوشت :

      مثال : تغییر مثال دوم
      خودتان امتحان کنید »

      متغیرهای خود را در بالا تعریف کنید

      Hoisting (به بسیاری از توسعه دهندگان) یک رفتار ناشناخته یا نادیده گرفته شده از جاوا اسکریپت است.

      در صورتی که یک توسعه دهنده درک کند، برنامه ها ممکن است حاوی اشکالات (خطا) باشند.

      برای جلوگیری از اشکالات، همیشه همه متغیرها را در ابتدای هر دامنه اعلام کنید.

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

      جاوا اسکریپت در حالت strict اجازه نمی دهد که متغیرهای مورد استفاده در صورت عدم اعلام استفاده شوند.

      کلام آخر

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

      QR:  جلسه ۴۱ : رفتار Hoisting در جاوا اسکریپت
      به اشتراک بگذارید


      دیدگاه کاربران
      1. تصویر کاربر
        • تصویر کاربر