کداکسپلور | CodeExplore
7.93K subscribers
2K photos
340 videos
103 files
1.82K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
⚙️ یکی از اشتباهات رایج در جاوااسکریپت زمانی پیش میاد که بخوای متغیر خصوصی (Private Variable) رو با Prototype ترکیب کنی.

در متدهایی که داخل constructor تعریف میشن، متغیرهای خصوصی از طریق Closure در دسترس هستن.
اما وقتی متد رو روی prototype تعریف کنی، اون متد به scope خصوصی constructor دسترسی نداره و فقط می‌تونه از this استفاده کنه.
function MyConstructor() {
var x = "ABC";
}
MyConstructor.prototype.getX = function() {
return x;
};


اینجا getX روی prototype تعریف شده، اما به متغیر x که داخل constructor بوده دسترسی نداره؛ چون اون متغیر فقط داخل closure ساخته شده.

اما توی این مثال:
function MyConstructor() {
var x = "ABC";
this.getX = function() {
return x;
};
}


اینجا متد getX داخل constructor تعریف شده و به x دسترسی داره چون در همون scope ساخته شده.

#js #prototype
☕️Telegram | Website | Discord
❤‍🔥38🔥5😍1