TGViewer
Brogrammist Brogrammist @brogrammist · 1.22K subscribers
Post #49 1.13K
Proxy obyektini bilarmidingiz?

Proxy(object, handler) bizga obyektlar uchun proksi obyekt yaratish imkonini beradi. Bu bilan biz obyetklardagi fundamental operatsiyalarni "intercept/override" qilishimiz mumkin. Ya'ni ularni o'zimizga kerakli ravishda ishlaydigan qila olamiz.

Masalan, eng sodda misol, obyektda biz bergan maydon bo'lmasa "undefined" o'rniga defolt qiymat qaytarish:

const dict = {
defolt: "default",
maydon: "field",
};

const proxy = new Proxy(dict, {
get(target, key, receiver) {
// agar `key` mavjud bo'lsa,
// mos qiymat qaytaramiz
if (target[key])
return target[key];

// agar `key` yo'q bo'sa,
// `key`ning o'zini
return key;
},
});

console.log(proxy.maydon);
// "field"
console.log(proxy.nimadir);
// "nimadir
"


Yoki setterga validatsiya qo'shishimiz mumkin:

const proxy = new Proxy(dict, {
set(target, key, val) {
if (typeof val !== "string")
throw new TypeError("Faqat string qiymatlar olinadi!");

target[key] = val;
return true;
},
});



Aytgancha, proksi obyekt birinchi obyektimizni to'liq "overwrite" qilishi kerak. Chunki ularning ikkovi ham kodimizda bo'lishi chalkash holatlarni yuzaga keltiradi. Shuning uchun har doim bunday qiling:

let obj = {...};

obj = new Proxy(obj, handler);
  • 👍 13
More from @brogrammist
  1. Sep 23, 2026Himmatingiz do'stlar 🙂 https://t.me/boost/brogrammist
  2. Sep 22, 2026spa-net.com qiziq challange ekan, kun bo'yi "enter" bosishdan zerikkanda bosh qotirib ko'r…
  3. Sep 22, 2026Odamni borgan sari ot choptirib, kamon otishga qiziqishi ortib boryapti...
  4. Sep 18, 2026Men birga ishlagan eng zo'r senior dasturchilarning bir umumiy jihati bor edi. Ular atayla…
  5. Sep 15, 2026ana endi falon pulga PC olish shartmasmi deyman)
  6. Sep 15, 2026Eski ishxonamdagi hamkasbim Farrux aka qiziqishga Counter-strike 2 o'yinini "Web"da qilayo…
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 →