⊗jsOpAdMCL 43 of 60 menu

Konteksto praradimas metodo kode OOP JavaScripte

Naudojant pirminį klasės metodo kodą gali būti prarastas kontekstas. Pažiūrėkime pavyzdžiu. Tarkime, turime šią klasę:

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

Sukurkime šios klasės objektą:

let user = new User('john');

Įrašykime metodo kodą į kintamąjį:

let func = user.getName;

Įrašant metodą į kintamąjį kontekstas ir buvo prarastas. Dabar this metodo kode nebus nukreiptas į klasės objektą. Patikrinkime, iškvikime mūsų funkciją:

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

Problemai spręsti galima pririšti kontekstą prie funkcijos, pavyzdžiui, per bind:

func = func.bind(user); console.log(func()); // veikia
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti