JavaScript -objectmethoden
Voorbeeld
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " +
this.lastName;
}
};
Het dit trefwoord
Verwijst in een functiedefinitie this
naar de "eigenaar" van de functie.
In het bovenstaande voorbeeld this
is het persoonsobject dat "eigenaar" is van de
functie fullName .
Met andere woorden, this.firstName betekent de eigenschap firstName van dit object .
Lees meer over het this
trefwoord bij JS dit Trefwoord .
JavaScript-methoden
JavaScript-methoden zijn acties die op objecten kunnen worden uitgevoerd.
Een JavaScript- methode is een eigenschap die een functiedefinitie bevat .
Eigendom | Waarde |
---|---|
Voornaam | John |
achternaam | doe |
leeftijd | 50 |
oogkleur | blauw |
voor-en achternaam | function() {return this.firstName + " " + this.lastName;} |
Methoden zijn functies die zijn opgeslagen als objecteigenschappen.
Toegang tot objectmethoden
U krijgt toegang tot een objectmethode met de volgende syntaxis:
objectName.methodName()
Meestal beschrijft u fullName() als een methode van het person-object en fullName als een eigenschap.
De eigenschap fullName wordt uitgevoerd (als een functie) wanneer deze wordt aangeroepen met ().
Dit voorbeeld geeft toegang tot de methode fullName() van een persoonsobject:
Voorbeeld
name = person.fullName();
Als u de eigenschap fullName zonder () opent, wordt de functiedefinitie geretourneerd :
Voorbeeld
name = person.fullName;
Een methode aan een object toevoegen
Het toevoegen van een nieuwe methode aan een object is eenvoudig:
Voorbeeld
person.name = function () {
return this.firstName + " " + this.lastName;
};
Ingebouwde methoden gebruiken
In dit voorbeeld wordt de toUpperCase()
methode van het String-object gebruikt om een tekst naar hoofdletters te converteren:
let message = "Hello world!";
let x = message.toUpperCase();
De waarde van x, na uitvoering van de bovenstaande code zal zijn:
HELLO WORLD!
Voorbeeld
person.name = function () {
return (this.firstName + " " + this.lastName).toUpperCase();
};