Wat is "dit" trefwoord in JavaScript?
Zoals we weten dat Objecten de basisbouwstenen in JavaScript zijn, is er een speciaal object dat 'dit' object wordt genoemd en de waarde van 'dit' is te zien in elke regel van JavaScript-uitvoering die opnieuw wordt besloten op basis van hoe de code is geëxecuteerd worden. In dit onderwerp gaan we meer te weten komen over "dit" trefwoord in JavaScript.
Het belang van "dit" trefwoord in JavaScript
- Het 'dit'-object in JavaScript heeft veel belangrijke rollen en toepassingen. Het wordt voornamelijk gebruikt om naar een instantie van een object te verwijzen vanuit zijn eigen methode of constructor. Samen met wijzen kan 'dit' ook worden gebruikt om contextuitvoering bij te houden die is gebaseerd op waar de functie wordt genoemd.
- Het volgende ding over de 'deze' functie in JavaScript is dat de link naar de uitvoeringscontext kan veranderen. En ten slotte kan de koppeling naar de uitvoeringscontext ook worden gemaakt wanneer deze wordt verwezen door een callback-functie, ook al is de functie gedefinieerd in het constructor-object.
Waarom dit trefwoord gebruiken in JavaScript?
- In JavaScript wordt 'dit' trefwoord in veel contexten gebruikt om de contexten optimaal te gebruiken. Kortom, dit trefwoord wordt gebruikt om te verwijzen naar een object of functie in JavaScript. Wat het woord (dit) zelf betreft, we kunnen begrijpen dat het naar iets verwijst. Om 'dit' op een praktische manier beter te begrijpen, kunnen we een voorbeeld beschouwen dat Mr. X Cricket speelde en hij het spel won.
- Dus, hier in de plaats van het opnieuw gebruiken van Mr. X, gebruikten we 'hij' die alleen naar Mr. X verwijst. Het helpt ons om niet steeds hetzelfde te blijven noemen. Op dezelfde manier kunnen we in JavaScript ook 'deze' functie of object gebruiken om naar een andere functie of object te verwijzen met de waarde die in die functie of dat object wordt opgeroepen. Gewoonlijk wordt 'dit' binnen een functie of methode gebruikt, maar het kan ook buiten de functie (onder algemeen bereik) worden gebruikt.
Hoe "dit" trefwoord te gebruiken?
- Omdat we weten dat JavaScript een scripttaal is, is er geen behoefte aan een compilatie van de codes, het wordt tijdens de uitvoering uitgevoerd. Het kan direct door de tolk worden uitgevoerd, regel voor regel. En de omgeving of de scope waarin de JavaScript-codes worden uitgevoerd, wordt "Execution Context" genoemd.
- JavaScript-runtime onderhoudt een stapel uitvoeringscontexten en houdt de huidige stapel bovenaan. Het object waarnaar wordt verwezen met "dit" wordt gewijzigd telkens wanneer de uitvoeringscontext wordt gewijzigd.
- We kunnen eenvoudigweg aannemen dat wanneer een functie tegelijkertijd wordt gemaakt, er ook een sleutelwoord 'dit' wordt gemaakt (achter de scène) dat is gekoppeld aan het object waar de functie werkt. Het trefwoord 'dit' werkt anders in JavaScript dan andere programmeertalen.
Het heeft verschillende waarden, afhankelijk van waar we het gebruiken, bijvoorbeeld:
- 'dit' verwijst in een methode naar het object eigenaar.
- 'dit' verwijst naar het globale object in de enige situatie.
- 'dit' verwijst ook naar de globale objecten in een eenvoudige functie.
- 'dit' verwijst naar een element in een evenement dat het evenement ontvangt.
- 'dit' is niet gedefinieerd in een strikte modusfunctie.
1. Gebruikt met een veld
Voorbeeld : hieronder verwijst 'dit' naar een object dat de persoon wordt genoemd. En de persoon is de eigenaar van de methode fullName.
var employee = (
firstName: “Raju”,
lastName: “Chaudhury”,
id: 123
fullName: function() (
return this.firstName + “ ” + this.lastName;
)
)
Een kort voorbeeld voor een formulierveld:
check to alert this object name
Zet naam en vink de onderstaande radio-optie aan om uw invoer te waarschuwen
Vink dit aan om tekstveldinvoer te waarschuwen
Let op het indienen van de gebeurtenishandler tijdens het openen van het formulier om de actie te zien die is ondernomen wanneer op de verzendknop is geklikt
2. Wordt gebruikt om een constructor aan te roepen
Meestal gebruiken we de functie als constructor wanneer we het trefwoord 'nieuw' gebruiken om een instantie voor een functieobject te maken.
In het onderstaande voorbeeld verklaren we een Bike-functie en roepen we deze aan als constructor:
function Bike(name)(
this.name = name;
)
Bike.prototype.getName = function()(
return this.name;
)
var bike = new Bike('Pulsar');
console.log(bike.getName());
In het bovenstaande voorbeeld is de nieuwe Bike ('Pulsar') een constructor van de Bike-functie. Hier maakt JavaScript een nieuw object en plaatst 'dit' trefwoord in het nieuw gemaakte object. Dus nu kunnen we Bike () aanroepen als de functie of als de constructor. Hier, in het geval dat we 'nieuw' trefwoord verwijderen, zal het een foutmelding geven zoals hieronder:
var bajaj = Bike('Bajaj');
console.log(bajaj.name);
/ * Het wordt weergegeven als TypeError: kan eigenschap 'naam' van undefined niet lezen * /
Dat omdat deze functie in Bike () op het globale object wordt geplaatst, resulteert bajaj.name ongedefinieerd.
Om de Bike () -functie altijd te gebruiken met behulp van de constructor, controleren we aan het begin van de Bike () -functie zoals hieronder:
function Bike(name)(
if( ! (this instanceof Bike)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)
Er is een metaproperty bekend als "new.target" waarmee kan worden gedetecteerd of een functie wordt opgeroepen als een eenvoudige aanroep of constructor.
Hier kunnen we de Bike () -functie bewerken die new.target metaproperty gebruikt zoals hieronder
function Bike(name)(
if( ! new.target)(
throw Error(“We should use new operator to call a function”);
)
this.name = name;
)
3. Wordt gebruikt om de huidige klasse-instantie te retourneren
Een klasse-uitdrukking is ook een manier om een klasse in JavaScript te definiëren. Het kan ook worden genoemd of niet genoemd. De genoemde is de lokale tot de hoofdtekst van de klasse en t kan worden opgehaald door de klasse-eigenschappen.
/ * voorbeeld voor een naamloze klasse-uitdrukking * /
let Mobile = class (
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name); //Output: Mobile
/ * voorbeeld voor een benoemde klasse-uitdrukking * /
let Mobile = class Mobile2(
constructor(cost, weight)(
this.cost = cost;
this.weight = weight;
)
);
console.log(Mobile.name);
Uitgang: Mobile2
4. Gebruikt als methode parameter
Wanneer we een methode van een object aanroepen, plaatst JavaScript 'dit' in het object dat eigenaar is van de methode.
Voorbeeld:
var Bike = (
name: 'Pulsar',
getName: function()(
return this.name;
)
)
console.log(bike.getName()); /*Pulsar*/
Hier verwijst deze methode in getName () naar een fietsobject.
Conclusie
Het 'dit'-sleutelwoord in JavaScript is een krachtig hulpmiddel dat meestal de ontwikkelaars helpt om naar de eigenschappen in specifieke contexten te verwijzen, maar soms kan het ook best lastig zijn bij het toepassen via de verschillende niveaus van bereik. De waarde van 'this' kan ook expliciet worden ingesteld met de aanroep (), bind () en apply (). Gewoonlijk wordt de waarde van 'dit' bepaald door de uitvoeringscontext van de functie. Pijlfuncties binden meestal 'dit' niet en in plaats daarvan wordt 'dit' lexicaal gebonden.
Aanbevolen artikelen
Dit is een handleiding voor dit trefwoord in JavaScript. Hier bespreken we het belang en het gebruik van "dit" trefwoord in JavaScript samen met het voorbeeld. U kunt ook het volgende artikel bekijken.
- Inkapseling in JavaScript
- Invoegsortering in JavaScript
- Palindrome in JavaScript
- JavaScript-compilers
- dit trefwoord in java | Voorbeelden van dit trefwoord
- Regels van exemplaar van Java met voorbeeld