Ahmadreza Mozaffary
Ahmadreza Mozaffary
خواندن ۱ دقیقه·۳ سال پیش

تی‌دی‌زی در جاواسکریپت یعنی چه ؟ ( TDZ in Javascript)

سلام رفقا ، حالتون چطوره ؟

امروز میخوایم درباره یک مفهوم مهم توی جاواسکریپت با هم صحبت کنیم

همونطوری که احتمالا توی title این مقاله دیدید میخوایم درباره TDZ با هم صحبت کنیم

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


این مفهوم پیش نیاز فهمیدن مفهوم هویستینگ‌ هست که مخفف Temporal Dead Zone هست

پس با من باشید تا باهم بررسیش کنیم

بیاید فرض کنیم که ۱۰ خط کد داریم و در خط ۱۱ کد زیر رو داریم:

... const sampleVariable = &quotSample Value&quot

از خط اول تا خط دهم ( خط قبل از تعریف متغییر ) برای ما TDZ به حساب میاد ...

به طور کلی اگه که بخوایم بگیم TDZ چی هست ، باید بگیم که از اولین خط شروع بلاک کد تا قبل از خط تعریف کردن متغییر برای ما TDZ به حساب میاد ، حالا این بلاک کد میتونه کل بلاک کد گلوبال فایل جاواسکریپت ما باشه ( یعنی از خط اول فایل جاواسکریپت ما تا اخرین خط کدمون ) ، یا مثلا میتونه بلاک بدنه ساختار شرطی ()if ما باشه و یا داخل بدنه function باشه و سایر بلاک های کد ، درواقع و درنهایت به طور خلاصه داریم :

? از خط اول بلاک کد ما تا خط قبل از تعریف متغییر برای اون متغییر TDZ به حساب میاد !


نکته مهم در این مفهوم این هست که این TDZ اصلا وابسته به نوع تعریف متغییر یا نوع تعریف فانکشن (تابع) نیست یعنی به صورت کلی برای انواع تعریف متغییر و تعریف تابع این مفهوم تعمیم داده میشه ?


خب ...

خیلی خیلی ممنونم که تا اینجا با من همراه بودین ، امیدوارم که براتون مفید واقع شده باشه

خوشحال میشم لایک و نظراتتون رو ببینم و با هم اینترکشن داشته باشیم ??



es6javascriptfrontend
من احمدرضا مظفری به عنوان Software developer توی شرکت همکاران سیستم مشغول هستم ، توی زمینه وب ، میخونم ، یادمیگیرم ، مینویسم .
شاید از این پست‌ها خوشتان بیاید