⊗jsOpAdMCL 43 of 60 menu

Объектга йўналтирилган дастурлашда метод кодни ишлатишда контекстни йўқотиш

Класс методнинг исходный кодни ишлатишда контекст йўқолиши мумкин. Келгила, мисолда кўрамиз. Фарз қилайлик, бизда куйидаги класс бор:

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

Ушбу классдан объект яратамиз:

let user = new User('john');

Метод кодни ўзгарувчига ёзамиз:

let func = user.getName;

Методни ўзгарувчига ёзиш жараёнида контекст йўқолди. Энди this метод кодни ичида объект классга ишора қилмайди. Текширамиз, функциямизни чақирамиз:

console.log(func()); // хато

Муаммони ҳал этиш учун контекстни функцияга боглаш мумкин, масалан, bind орқали:

func = func.bind(user); console.log(func()); // ишлайди
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш