6.1 Erstellen von Objekten
Objekte sind eine der Hauptdatenstrukturen in JavaScript und werden häufig zur Speicherung und Verwaltung von Daten verwendet. Ein Objekt ist eine Sammlung von Eigenschaften, wobei jede Eigenschaft aus einem Schlüssel (Name) und einem Wert besteht. In dieser Vorlesung besprechen wir die Erstellung von Objekten sowie den Zugriff auf ihre Eigenschaften und Methoden.
1. Objekt-Literal
Die häufigste Methode, ein Objekt in JavaScript zu erstellen, ist die Verwendung eines Objekt-Literals.
In diesem Beispiel haben wir ein Objekt person
mit vier Eigenschaften erstellt: name
, age
, isStudent
und greet
.
let person = {
name: 'John',
age: 30,
isStudent: false,
greet: function() {
return 'Hello!';
}
};
2. Object Konstruktor
Objekte können auch mit dem Konstruktor Object()
erstellt werden.
Diese Methode ist gleichwertig zur Erstellung eines Objekts mit einem Objekt-Literal, aber wortreicher:
let person = new Object();
person.name = 'John';
person.age = 30;
person.isStudent = false;
person.greet = function() {
return 'Hello!';
};
3. Konstruktorfunktion
Eine Konstruktorfunktion ermöglicht es, mehrere Instanzen von Objekten mit den gleichen Eigenschaften und Methoden zu erstellen.
In diesem Beispiel wird die Konstruktorfunktion Person()
verwendet, um die Objekte john
und jane
mit den gleichen Eigenschaften und Methoden zu erstellen:
function Person(name, age, isStudent) {
this.name = name;
this.age = age;
this.isStudent = isStudent;
this.greet = function() {
return 'Hello!';
};
}
let john = new Person('John', 30, false);
let jane = new Person('Jane', 25, true);
4. Methode Object.create()
Die Methode Object.create()
erstellt ein neues Objekt mit dem angegebenen Prototypen und Eigenschaften.
In diesem Beispiel wird das Objekt john
basierend auf dem Prototyp personPrototype
erstellt:
let personPrototype = {
greet: function() {
return 'Hello!';
}
};
let john = Object.create(personPrototype);
john.name = 'John';
john.age = 30;
john.isStudent = false;
6.2 Zugriff auf Eigenschaften und Methoden
1. Zugriff mit Punkt-Notation
Die häufigste Methode, auf die Eigenschaften und Methoden eines Objekts zuzugreifen, ist die Punkt-Notation:
let person = {
name: 'John',
age: 30,
greet: function() {
return 'Hello!';
}
};
console.log(person.name); // Gibt aus: John
console.log(person.age); // Gibt aus: 30
console.log(person.greet()); // Gibt aus: Hello!
2. Zugriff mit eckigen Klammern
Auf die Eigenschaften eines Objekts kann auch mit eckigen Klammern zugegriffen werden. Diese Methode ist nützlich, wenn der Name der Eigenschaft in einer Variablen gespeichert ist oder Leerzeichen oder Sonderzeichen enthält:
let person = {
'first name': 'John',
age: 30,
greet: function() {
return 'Hello!';
}
};
console.log(person['first name']); // Gibt aus: John
console.log(person['age']); // Gibt aus: 30
let propertyName = 'greet';
console.log(person[propertyName]()); // Gibt aus: Hello!
3. Ändern und Hinzufügen von Eigenschaften
Die Eigenschaften eines Objekts können jederzeit geändert oder hinzugefügt werden:
let person = {
name: 'John',
age: 30
};
// Änderung einer vorhandenen Eigenschaft
person.age = 31;
console.log(person.age); // Gibt aus: 31
// Hinzufügen einer neuen Eigenschaft
person.isStudent = false;
console.log(person.isStudent); // Gibt aus: false
4. Löschen von Eigenschaften
Die Eigenschaften eines Objekts können mit dem Operator delete
gelöscht werden:
let person = {
name: 'John',
age: 30,
isStudent: false
};
delete person.isStudent;
console.log(person.isStudent); // Gibt aus: undefined
6.3 Iteration über die Eigenschaften eines Objekts
1. for...in Schleife
Die for...in
Schleife ermöglicht es, alle aufzählbaren Eigenschaften eines Objekts zu durchlaufen:
let person = {
name: 'John',
age: 30,
isStudent: false
};
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}
// Gibt aus:
// name: John
// age: 30
// isStudent: false
2. Methode Object.keys()
Die Methode Object.keys()
gibt ein Array mit allen aufzählbaren Eigenschaften eines Objekts zurück:
let person = {
name: 'John',
age: 30,
isStudent: false
};
let keys = Object.keys(person);
console.log(keys); // Gibt aus: ['name', 'age', 'isStudent']
3. Methode Object.values()
Die Methode Object.values()
gibt ein Array mit den Werten aller aufzählbaren Eigenschaften eines Objekts zurück:
let person = {
name: 'John',
age: 30,
isStudent: false
};
let values = Object.values(person);
console.log(values); // Gibt aus: ['John', 30, false]
4. Methode Object.entries()
Die Methode Object.entries()
gibt ein Array von Paaren [Schlüssel, Wert] für alle aufzählbaren Eigenschaften eines Objekts zurück:
let person = {
name: 'John',
age: 30,
isStudent: false
};
let entries = Object.entries(person);
console.log(entries); // Gibt aus: [['name', 'John'], ['age', 30], ['isStudent', false]]
6.4 Überprüfung der Eigenschaften
1. Operator in
Der Operator in
ermöglicht es zu überprüfen, ob eine Eigenschaft in einem Objekt vorhanden ist:
let person = {
name: 'John',
age: 30
};
console.log('name' in person); // Gibt aus: true
console.log('isStudent' in person); // Gibt aus: false
2. Methode hasOwnProperty()
Die Methode hasOwnProperty()
überprüft, ob ein Objekt eine bestimmte Eigenschaft als eigene (nicht geerbte) besitzt:
let person = {
name: 'John',
age: 30
};
console.log(person.hasOwnProperty('name')); // Gibt aus: true
console.log(person.hasOwnProperty('isStudent')); // Gibt aus: false
GO TO FULL VERSION