⊗jsOpAdMCL 43 of 60 menu

Tap av kontekst i metodekode i OOP i JavaScript

Ved bruk av kildekoden til en klassemetode kan konteksten gå tapt. La oss se på et eksempel. La oss si at vi har følgende klasse:

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

La oss opprette et objekt av denne klassen:

let user = new User('john');

La oss skrive metodekoden til en variabel:

let func = user.getName;

I øyeblikket vi skrev metoden til variabelen gikk konteksten tapt. Nå vil this inni metodekoden ikke peke på klasseobjektet. La oss sjekke, la oss kalle vår funksjon:

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

For å løse problemet kan vi binde konteksten til funksjonen, for eksempel via bind:

func = func.bind(user); console.log(func()); // fungerer
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis