⊗jsOpAdMCL 43 of 60 menu

Gubitak konteksta u kodu metode u OOP-u u JavaScript-u

Kada se koristi izvorni kod metode klase, kontekst može biti izgubljen. Pogledajmo na primeru. Neka imamo sledeću klasu:

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

Kreirajmo objekat ove klase:

let user = new User('john');

Zapišimo kod metode u promenljivu:

let func = user.getName;

U trenutku upisivanja metode u promenljivu, kontekst je i izgubljen. Sada this unutar koda metode neće pokazivati na objekat klase. Proverimo, pozovimo našu funkciju:

console.log(func()); // greška

Za rešavanje problema može se povezati kontekst sa funkcijom, na primer, preko bind:

func = func.bind(user); console.log(func()); // radi
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij