⊗jsOpAdMCL 43 of 60 menu

JavaScriptте ООПде методдун кодунда контексттин жоголушу

Класстын методунун баштапкы коду колдонулганда контекст жоголушу мүмкүн. Келгиле, мисал аркылуу карап көрөлү. Бизде төмөнкүдөй класс бар деп коёлу:

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çeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу