MBO-SD : De site voor software developer in het MBO
Objecten in Javascript
Wat is een Object
Een object in JavaScript lijkt op een Array maar kan net iets meer informatie opslaan. Daar waar een array bestaat uit waarden die je kan oproepen met een index-getal, werkt een object met meerdere waarden en is de sleutel geen getal maar een woord.
const myObject = {
name : 'Jean Luc',
occupation : 'Captain',
};
Bovenstaand zie je een object. Het object heeft twee keys (sleutels)
en elke key heeft een
value (waarde)
. We noemen dit een key-value pair
.
In bovenstaande code zijn name
en occupation
de keys en de values
zijn Jean Luc
en Captain
Om informatie op te halen gebruik je de naam van de variabele myObject
en met een punt plak je
de key
aan de variabele vast: myObject.name
. Dit zal de waarde Jean Luc
geven. Zie onderstaand voorbeeld:
alert(myObject.name); //Jean Luc
alert(myObject.occupation); //Captain
Toevoegen van een sleutel met waarde
Je kan makkelijk iets toevoegen aan een object. Onderstaande code voegt de sleutel color
toe aan het object met de waarde red
.
myObject.colour = 'red';
//{ name : 'Jean Luc', occupation : 'Captain', colour: 'red', }; //Dit is nu het object
Weghalen van een sleutel
Je kan de gemaakte sleutel ook weer weghalen met het delete
functie.
delete myObject.colour;
//{ name : 'Jean Luc', occupation : 'Captain'}; //Dit is nu het object
Functies in een object
De value
van een key
in een object kan ook een functie zijn, bijvoorbeeld om een
alert te tonen met informatie uit het object, of om punten toe te kennen aan het object.
const myObject = {
name : 'Jean Luc',
occupation : 'Captain',
showAge : function() { alert(55); },
};
myObject.showAge();
LET OP: Een function in een object heeft aan het einde ronde-haken ().
Object en het 'this' kenmerk
Soms heb je iets van het object nodig in een functie in het object. Bijvoorbeeld bij een speler die punten
heeft en je wilt de punten van de speler tonen of er iets mee berekenen. Je kan de variabele van het object
niet in het object zelf gebruiken. Hiervoor bestaat het concept van this
. Zie het woordje
this
alsof je de variabele naam van het object gebruikt maar dan this in plaats van de variabele
naam.
const myObject = {
name : 'Jean Luc',
occupation : 'Captain',
age: 55,
userPoints : 0,
showAge : function() { alert(this.age); },
givePoint : function() { this.userPoints = this.userPoints + 1; },
};
myObject.showAge(); //Toon de naam van de user, maar gebruikt nu this.
myObject.givePoint(); //Punten stijgt met 1 (dus wordt 1 in plaats van 0);
myObject.givePoint(); //Punten stijgt met 1 (dus wordt 2 in plaats van 1);
myObject.givePoint(); //Punten stijgt met 1 (dus wordt 3 in plaats van 2);
myObject.givePoint(); //Punten stijgt met 1 (dus wordt 4 in plaats van 3);
alert(myObject.userPoints);
//Is 4 - let op dit is een sleutel, geen functie. Geen ();
Jouw JavaScript
Op de MBO-SD Fiddle site kan je meer oefenen met deze stof.
Klik hier voor de MBO-SD Fiddle site