24. april 2024
Javascript
- Lært om
thisi ulike kontekster:- I “function invocation”, altså når man kaller eller kjører en funksjon (inkludert IIFE (immediately invoked function) / umiddelbart selvkallende funksjon) er
thisdet globale objektet.- Bruker man
stricter detundefined.
- Bruker man
- I et metodekall er
thisobjektet som “eier” metoden, eller objektet hvor metoden er definert. Det er gjerne på venstre side av “dotten” når man kaller en metode, som her:person.fullName(). I dette tilfellet erthisperson-objektet. - I både funksjon- og metodekall kan man spørre seg selv “hvordan invokeres denne funksjonen”? som et hjelpemiddel for å huske hva
thisrefererer til. - I “arrow”-funksjoner er
thisden omkringliggende konteksten hvor “arrow”-funksjonen selv er definert. På engelsk sier man i dette tilfellet atthiser “lexically”. Ogthiser bundet til konteksten for alltid. Den kan ikke endres. - For å lettere huske hva
thiser ved “arrow”-funksjoner kan man spørre seg selv “hva er “this” i den ytre konteksten hvor “arrow”-funksjonen selv er definert?”. - I “constructor invocation” eller objektkall(?) er
thisen del av det nye objektet.
- I “function invocation”, altså når man kaller eller kjører en funksjon (inkludert IIFE (immediately invoked function) / umiddelbart selvkallende funksjon) er