آرین سلیمان‌زاده
  • خانه
  • وبلاگ
  • پادکست‌ها
  • ویدیوها
  • کتابخانه
  • تماس با من
العربيةArabic
DeutschGerman
EnglishEnglish
فارسیPersian
한국어Korean
中文Chinese
پنل•تماس سریع

Languages

Choose your interface locale

ar

العربية

Arabic

de

Deutsch

German

en

English

English

fa

فارسی

Persian

ko

한국어

Korean

zh

中文

Chinese

درخواست همکاری یا مشاوره

پیام خود را درباره همکاری، مشاوره، توسعه محصول یا پروژه نرم‌افزاری ارسال کنید.

LinkedInپاسخ سریع
یادداشت‌های فرانت‌اند

سؤال و پاسخ را کنار هم بخوان.

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

46یادداشت
1 / 46
JAVASCRIPTScope و Hoistingjunior

Hoisting در جاوااسکریپت چیست و چرا دسترسی به let/const قبل از تعریف با var رفتار متفاوتی دارد؟

Explain what JavaScript hoists, and why accessing a let/const binding before its declaration behaves differently from var.

پاسخ مستقیم

تعریف‌ها پیش از اجرای کد در محیط اجرا ثبت می‌شوند، اما مقداردهی فرق دارد. var با undefined مقداردهی اولیه می‌شود، در حالی‌که let/const تا رسیدن اجرای برنامه به خط تعریف در TDZ بدون مقدار می‌مانند. Function declaration همراه بدنه hoist می‌شود.

توضیح ساده اما عمیق

var دارای function scope است و در مرحله‌ی ایجاد execution context با undefined مقداردهی اولیه می‌شود. let و const block scope دارند و تا رسیدن اجرای برنامه به declaration داخل TDZ هستند. const فقط از re-assignment جلوگیری می‌کند و Object داخل آن همچنان می‌تواند mutable باشد.

چطور حرفه‌ای توضیح بدهیم؟

برای یک پاسخ حرفه‌ای، ترتیب مناسب این است: تعریف کوتاه → نحوه‌ی کار → مثال واقعی → محدودیت یا trade-off. این ساختار هم ساده است و هم نشان می‌دهد مفهوم را واقعاً فهمیده‌ای.

چرا مهم است؟

این سؤال نشان می‌دهد execution context را فهمیده‌ای یا فقط syntax را حفظ کرده‌ای.

موضوعات مرتبط برای مطالعه بعدیTDZ چیست؟Function expression با function declaration چه تفاوتی دارد؟
آرین سلیمان‌زاده

پورتفولیوی شخصی با تمرکز بر Agentic CRM، سامانه‌های هوشمند کسب‌وکار، مهندسی مدرن وب، طراحی سیستم‌های رابط کاربری و توسعه محصولات نرم‌افزاری کاربردی.

لینک‌های سریع

  • درباره من
  • وبلاگ
  • کتابخانه
  • تماس

ارتباط

  • soleimanzadeh.a.work@gmail.com
  • soleimanzadeh.uni@gmail.com

در دسترس: روزهای کاری

معمولاً پاسخ در ۲۴ ساعت

خبرنامه

به‌روزرسانی‌های مربوط به نوشته‌ها، پروژه‌ها و انتشارهای جدید را دریافت کنید.

© 2026 ariansoleimanzadeh.dev — تمامی حقوق محفوظ است.

لینکدین