Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jsOpAdMCL 43 of 60 menu
◀ ▶

Konteksti kaotamine meetodi koodis OOP-s JavaScriptis

Klassi meetodi lähtekoodi kasutamisel võib kontekst kaduda. Vaatame näidet. Olgem meil järgmine klass:

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

Loome selle klassi objekti:

let user = new User('john');

Kirjutame meetodi koodi muutujasse:

let func = user.getName;

Meetodi muutujasse kirjutamise hetkel kontekst kaob. Nüüd ei osuta this meetodi koodi sees enam klassi objektile. Kontrollime, käivitame oma funktsiooni:

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

Probleemi lahendamiseks saab siduda konteksti funktsiooniga, näiteks läbi bind:

func = func.bind(user); console.log(func()); // töötab
← →
↑
Eesti▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu