⊗jsOpAdMCL 43 of 60 menu

JavaScriptda OOPda metod kodida kontekstni yo'qotish

Klass metodining asl kodidan foydalanganda kontekst yo'qolib qolishi mumkin. Keling, buni bir misol orqali ko'rib chiqaylik. Quyidagi klassimiz bor deb faraz qilaylik:

class User { #name; constructor(name) { this.#name = name; } getName() { return this.#name; } }

Ushbu klassning ob'ektini yaratamiz:

let user = new User('john');

Metod kodini o'zgaruvchiga yozamiz:

let func = user.getName;

Metodni o'zgaruvchiga yozish paytida kontekst yo'qolib qoldi. Endi this metod kodi ichida klass ob'ektiga ishora qilmaydi. Keling, funktsiyamizni chaqirib tekshiramiz:

console.log(func()); // xatolik

Muammoni hal qilish uchun funktsiyaga kontekstni bog'lash mumkin, masalan, bind orqali:

func = func.bind(user); console.log(func()); // ishlaydi
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish