Skip to main content

Objekte erstellen

const levin = {
  firstName: 'Levin',
  lastName: 'Bänninger',
  age: 17,
  job: 'Software Engineer',
  friends: ['Jonas', 'Marie', 'Peter'],
  work(hours) {
    console.log(`{this.firstName} is working for {hours} hours...`);
  }
};
Wir können in einem Objekt alle Datentypen benutzen

Datenzugriff

Es gibt zwei Möglichkeiten, auf Daten eines Objekts zuzugreifen:
  • Punktnotation
  • Klammernotation

Punktnotation

Die Syntax der Punktnotation sieht wie folgt aus:
objName.property;
Es ist ziemlich einfach. Beispiel mit unseren Personendaten:
const levin = {
  firstName: 'Levin',
  lastName: 'Bänninger',
  age: 17,
  job: 'Student',
  friends: ['Jonas', 'Marie', 'Peter'],
};

levin.lastName;
levin.age;
levin.friends;

Klammernotation

Die Syntax für die Klammerschreibweise sieht wie folgt aus:
objName['expression'];
Wie du sehen kannst, ist das auch ziemlich einfach. Wieder das Beispiel mit unseren Personendaten:
levin['lastName'];
levin['age'];
levin['friends'];
Wenn wir versuchen, auf eine Eigenschaft zuzugreifen, die nicht existiert, erhalten wir undefined.

Unterschied

Der grosse Unterschied, zwischen den beiden ist, dass ich mit der Klammerschreibweise einen Ausdruck eintippen kann. Du könntest zum Beispiel Folgendes tun:
const nameKey = 'Name';
levin['first' + nameKey];
levin['last' + nameKey];
Das ist nicht möglich mit der Punktnotation.
Wann sollte ich was verwenden?In der Regel solltest du immer die Punktschreibweise verwenden, weil sie viel einfacher zu lesen ist. Verwende die Klammerschreibweise nur, wenn du den Eigenschaftsnamen berechnen musst.

Objekte manipulieren

Property hinzufügen

levin.location = 'Switzerland';
levin['twitter'] = '@LevinBaenninger';

Property bearbeiten

levin.job = 'programmer';
levin['location'] = 'Zurich';

Property löschen

delete levin.location;
delete levin['twitter'];