TGViewer
کداکسپلور | CodeExplore کداکسپلور | CodeExplore @codeexplore · 9.2K subscribers
Post #4288 2.43K
⚙️ یکی از اشتباهات رایج در جاوااسکریپت زمانی پیش میاد که بخوای متغیر خصوصی (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
  • ❤‍🔥 39
  • 🔥 5
  • 😍 1
More from @codeexplore
  1. Oct 8, 2026برای اولین بار در تاریخ CVE ها یک عدد 6 رقمی گرفتند! و این عمق فاجعه آسیب پذیری های پیدا ش…
  2. Oct 7, 2026کداکسپلور | CodeExplore pinned a photo
  3. Oct 7, 2026🤖 Routy؛ مدیریت روزت، مستقیم داخل تلگرام تسک‌هات رو بساز، عادت‌هات رو ثبت کن، یادآوری بگی…
  4. Oct 7, 2026Post #4854
  5. Oct 7, 2026‏Graphify یه ابزار اوپن سورسه که باهاش میتونید ببینید بخشای مختلف پروژه چطور به هم وصل…
  6. Oct 5, 2026😂😮 #fun ☕️ Telegram | Website | Discord
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →