Real-life objecten, eigenschappen en methoden

In het echte leven is een auto een object. Een auto heeft eigenschappen zoals gewicht en kleur, en methoden zoals starten en stoppen:

Voorwerp     Eigenschappen Methoden

car.name = Fiat

auto.model = 500

auto.gewicht = 850kg

auto.kleur = wit

car.start ()

car.drive ()

car.brake ()

car.stop ()

   

Alle auto's hebben dezelfde eigenschappen, maar de inhoud van die eigenschappen kan afwijken tussen auto's. Ze hebben allemaal de eigenschap kleur maar welke kleur verschilt per auto. Alle auto's hebben dezelfde methoden, maar de methoden worden op verschillende momenten uitgevoerd.

JavaScript-objecten

Je hebt al geleerd dat JavaScript-variabelen containers zijn voor waarden.

Deze code kent een eenvoudige waarde (Fiat) toe aan een variabele met de naam auto:

var car = "Fiat";

Objecten zijn ook variabelen. Maar objecten kunnen veel waarden bevatten.
Deze code kent veel waarden (Fiat, 500, wit) toe aan een variabele met de naam auto:

var car = {type:"Fiat", model:"500", color:"white"};

De waarden worden geschreven als naam:waarde paren (naam en waarde worden van elkaar gescheiden door een dubbele punt).

JavaScript-objecten zijn containers voor waarden met een naam. Deze worden eigenschappen of methoden genoemd.

Objectdefinitie

U definieert (en maakt) een JavaScript-object met {}:

Voorbeeld
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Spaties en regeleinden zijn niet belangrijk. Een objectdefinitie kan meerdere regels omvatten:

Voorbeeld:
var person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};


Objecteigenschappen

De naam:waarde- paren in JavaScript-objecten worden eigenschappen genoemd :

Eigenschap     Waarde
firstName     John
lastName Doe
age     50
eyeColor     blue


Toegang tot objecteigenschappen

U kunt objecteigenschappen op twee manieren openen:
objectName.propertyName
of
objectName["propertyName"]

Voorbeeld 1
person.lastName;

Voorbeeld 2
person["lastName"];

Object methoden

Objecten kunnen ook methoden hebben. Methoden zijn acties die op objecten kunnen worden uitgevoerd. Methoden worden in eigenschappen opgeslagen als functiedefinities.

Eigenschap     Waarde
firstName     John
lastName     Doe
age     50
eyeColor blue
fullName     function () {return this.firstName + " " + this.lastName;}


Een methode is een functie die is opgeslagen als een eigenschap.

Voorbeeld
var person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

Het trefwoord this

this verwijst in een functiedefinitie naar de "eigenaar" van de functie. In het bovenstaande voorbeeld this is het persoonsobject "eigenaar" van de fullName functie. Met andere woorden this.firstName is de eigenschap firstName van dit object .

Toegang tot objectmethoden

U opent een objectmethode met de volgende syntaxis: objectName.methodName()
Voorbeeld
name = person.fullName();
Als u een methode opent zonder de () haakjes, retourneert deze de functiedefinitie:

Voorbeeld
name = person.fullName;

Declareer strings, getallen en booleans niet als objecten!

Wanneer een JavaScript-variabele wordt gedeclareerd met het trefwoord "new", wordt de variabele gemaakt als een object:

var x = new String();        // Declares x as a String object
var y = new Number();        // Declares y as a Number object
var z = new Boolean();       // Declares z as a Boolean object

Vermijd Strings, Numbers en Booleans als objecten. Ze compliceren uw code en vertragen de uitvoeringssnelheid.