Hva er "dette" nøkkelordet i JavaScript?
Som vi vet at objekter er de grunnleggende byggesteinene i JavaScript, er det et spesielt objekt som også kalles 'dette' objektet, og verdien av 'dette' kan sees i hver linje av JavaScript-utførelse som igjen avgjøres basert på hvordan koden er blir henrettet. I dette emnet skal vi lære om "dette" søkeordet i JavaScript.
Betydningen av "dette" nøkkelordet i JavaScript
- Objektet 'dette' i JavaScript har mange viktige roller og bruksområder. Det brukes først og fremst til å peke på et eksempel på et objekt fra sin egen metode eller konstruktør. Sammen med å peke kan 'dette' også brukes til å holde oversikt over kontekstutførelse som er basert på hvor funksjonen heter.
- Det neste med "denne" -funksjonen i JavaScript er at koblingen til utførelseskonteksten kan endres. Og til slutt kan koblingen til utførelseskonteksten også opprettes når den blir henvist til av en tilbakeringingsfunksjon, selv om funksjonen er definert inne i konstruktørobjektet.
Hvorfor bruke "dette" nøkkelordet i JavaScript?
- I JavaScript brukes 'dette' nøkkelordet i mange sammenhenger for å utnytte kontekstene best mulig. I utgangspunktet brukes 'dette' nøkkelordet til å referere til noe objekt eller funksjon i JavaScript. Som ved selve ordet (dette), kan vi forstå at det refererer til noe. For å forstå "dette" bedre på en praktisk måte, kan vi ta et eksempel på at Mr. X spilte Cricket og han vant spillet.
- Så her i stedet for å bruke Mr. X igjen, brukte vi 'han' som bare refererer til Mr. X. Det hjelper oss å ikke fortsette å nevne det samme igjen og igjen. På samme måte, også i JavaScript, kan vi bruke denne funksjonen eller objektet for å henvise til en annen funksjon eller objekt med verdien som påberopes i den funksjonen eller objektet. Vanligvis brukes 'dette' i en funksjon eller metode, men den kan også brukes utenfor funksjonen (under globalt omfang).
Hvordan bruker jeg “dette” søkeordet?
- Som vi vet at JavaScript er et skriptspråk, så det ikke er behov for en sammenstilling av kodene, blir den kjørt i løpet av tiden. Det kan utføres direkte av tolken, linje for linje. Og miljøet eller omfanget som JavaScript-kodene kjøres i, kalles "Utførelseskontekst".
- JavaScript runtime opprettholder en bunke av utførelseskontekster og holder den nåværende bunken på toppen. Objektet som blir referert til av "dette" blir endret hver gang Utførelseskontekst endres.
- Vi kan ganske enkelt anta at når en funksjon opprettes samtidig, opprettes også et nøkkelord "dette" (bak scenen) som kobler til objektet der funksjonen opererer. Nøkkelordet "dette" fungerer annerledes i JavaScript enn andre programmeringsspråk.
Den har forskjellige verdier avhengig av hvor vi bruker den, for eksempel:
- 'dette' refererer til eierobjektet i en metode.
- 'dette' refererer til det globale objektet i den eneste situasjonen.
- 'dette' refererer også til de globale objektene i en enkel funksjon.
- 'dette' refererer til et element i en hendelse som mottar hendelsen.
- "dette" er udefinert i en streng modusfunksjon.
1. Brukt med felt
Eksempel : Nedenfor refererer 'dette' til et objekt som heter personen. Og personen er eieren av metoden fullName.
var employee = (
firstName: “Raju”,
lastName: “Chaudhury”,
id: 123
fullName: function() (
return this.firstName + “ ” + this.lastName;
)
)
Et kort eksempel på et skjemafelt:
check to alert this object name
Sett navn og sjekk radioalternativet nedenfor for å varsle oppføringen
Merk av for å varsle tekstfeltoppføring
Legg merke til innsending av hendelseshåndterer mens du åpner skjemaet for å se handlingen som blir gjort når du sender inn knappen
2. Brukes til å påkalle en konstruktør
Vanligvis, når vi bruker nøkkelordet 'nytt' for å lage en forekomst for et funksjonsobjekt, bruker vi funksjonen som en konstruktør.
I eksemplet nedenfor erklærer vi en sykkelfunksjon og påkaller den deretter som en konstruktør:
function Bike(name)(
this.name = name;
)
Bike.prototype.getName = function()(
return this.name;
)
var bike = new Bike('Pulsar');
console.log(bike.getName());
I eksemplet over er den nye sykkelen ('Pulsar') en konstruktør av sykkelfunksjonen. Her oppretter JavaScript et nytt objekt og legger "dette" nøkkelordet til det nyopprettede objektet. Så nå kan vi påkalle Bike () som funksjonen eller som konstruktøren. I tilfelle vi fjerner "nytt" søkeord, vil det vise noen feil som nedenfor:
var bajaj = Bike('Bajaj');
console.log(bajaj.name);
/ * Det vil vises som TypeError: Kan ikke lese egenskapen 'navn' til udefinert * /
Det fordi denne i Bike () -funksjonen blir satt til det globale objektet, bajaj.name resultater blir ikke definert.
For å gjøre sykkel () -funksjonen alltid påkalt ved hjelp av konstruktør, sjekker vi ved start av sykkel () -funksjonen som nedenfor:
function Bike(name)(
if( ! (this instanceof Bike)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)
Det er en metaproperty kjent som "new.target" som gjør det mulig å oppdage om en funksjon påberopes som en enkel påkallelse eller konstruktør.
Her kan vi redigere Bike () -funksjonen som bruker new.target metaproperty som nedenfor
function Bike(name)(
if( ! new.target)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)
3. Brukes til å returnere gjeldende klasseforekomst
Et klasseuttrykk er også en måte å definere en klasse i JavaScript. Det kan også bli navngitt eller navngitt. Den navngitte er den lokale for sin klassekropp, og t kan hentes av klasseegenskapene.
/ * eksempel for et ikke navngitt klasseuttrykk * /
let Mobile = class (
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name); //Output: Mobile
/ * eksempel for et navngitt klasseuttrykk * /
let Mobile = class Mobile2(
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name);
Utgang: Mobile2
4. Brukt som metodeparameter
Når vi kaller en metode for et objekt, så legger JavaScript dette til objektet som eier metoden.
Eksempel:
var Bike = (
name: 'Pulsar',
getName: function()(
return this.name;
)
)
console.log(bike.getName()); /*Pulsar*/
Her refererer denne innvendige getName () -metoden til et sykkelobjekt.
Konklusjon
Nøkkelordet "dette" i JavaScript er et kraftig verktøy som vanligvis hjelper utviklerne med å henvise til egenskapene i spesifikke sammenhenger, men til tider kan det også være ganske vanskelig når du bruker de forskjellige omfangsnivåene. Verdien av 'dette' kan også angis eksplisitt med samtalen (), bind () og gjelder () også. Vanligvis bestemmes verdien av 'dette' av funksjonens utførelseskontekst. Pilfunksjoner binder vanligvis ikke "dette", og i stedet for "bindes dette" leksikalt.
Anbefalte artikler
Dette er en guide til “dette” søkeordet i JavaScript. Her diskuterer vi viktigheten og hvordan du bruker "dette" søkeordet i JavaScript sammen med eksemplet. Du kan også se på den følgende artikkelen.
- Innkapsling i JavaScript
- Sett inn Sorter i JavaScript
- Palindrome i JavaScript
- JavaScript-kompilatorer
- dette nøkkelordet i java | Eksempler på dette nøkkelordet
- Eksempelregler for i Java med eksempel