Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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