In JavaScript sind Objekte Sammlungen von Schlüssel-Wert-Paaren, wobei Werte Daten (Eigenschaften) oder Funktionen (Methoden) sein können. Objekte sind für JavaScript von grundlegender Bedeutung, da fast alles in JavaScript ein Objekt ist, einschließlich Arrays, Funktionen und sogar anderer Objekte.
Der einfachste Weg, ein Objekt zu erstellen, ist die Verwendung von geschweiften Klammern {}.
Beispiel:
const person = { name: "Alice", age: 25, greet: function () { console.log("Hello!"); }, }; console.log(person.name); // Output: Alice person.greet(); // Output: Hello!
Mit dem Objektkonstruktor wird ein leeres Objekt erstellt.
Beispiel:
const person = new Object(); person.name = "Bob"; person.age = 30; person.greet = function () { console.log("Hi!"); }; console.log(person.name); // Output: Bob person.greet(); // Output: Hi!
Diese Methode erstellt ein neues Objekt mit dem angegebenen Prototyp.
Beispiel:
const prototype = { greet: function () { console.log("Hello!"); } }; const person = Object.create(prototype); person.name = "Charlie"; console.log(person.name); // Output: Charlie person.greet(); // Output: Hello!
Zugriff auf Eigenschaften mit einem Punkt (.).
Beispiel:
console.log(person.name); // Output: Alice
Zugriff auf Eigenschaften mit eckigen Klammern ([]). Nützlich für dynamische Eigenschaftsnamen.
Beispiel:
console.log(person["name"]); // Output: Alice const key = "age"; console.log(person[key]); // Output: 25
person.country = "USA"; console.log(person.country); // Output: USA
person.age = 26; console.log(person.age); // Output: 26
delete person.age; console.log(person.age); // Output: undefined
Wenn eine Funktion eine Eigenschaft eines Objekts ist, wird sie als Methode bezeichnet.
Beispiel:
const car = { brand: "Tesla", start: function () { console.log("Car started!"); }, }; car.start(); // Output: Car started!
Iterieren Sie alle aufzählbaren Eigenschaften eines Objekts.
Beispiel:
for (let key in person) { console.log(`${key}: ${person[key]}`); }
Gibt ein Array der Schlüssel eines Objekts zurück.
Beispiel:
Object.keys(person).forEach((key) => { console.log(`${key}: ${person[key]}`); });
Gibt ein Array von [Schlüssel-Wert]-Paaren zurück.
Beispiel:
Object.entries(person).forEach(([key, value]) => { console.log(`${key}: ${value}`); });
JavaScript bietet mehrere integrierte Methoden zum Arbeiten mit Objekten.
const target = { a: 1 }; const source = { b: 2 }; Object.assign(target, source); console.log(target); // Output: { a: 1, b: 2 }
const obj = { a: 1 }; Object.freeze(obj); obj.a = 2; // No effect console.log(obj.a); // Output: 1
const obj = { a: 1 }; Object.seal(obj); obj.b = 2; // No effect obj.a = 3; // Works console.log(obj); // Output: { a: 3 }
Objekte in JavaScript haben einen Prototyp, der ein weiteres Objekt ist, von dem sie Eigenschaften und Methoden erben.
Beispiel:
const animal = { eats: true }; const dog = Object.create(animal); dog.barks = true; console.log(dog.eats); // Output: true (inherited) console.log(dog.barks); // Output: true
Destrukturierung ermöglicht das Extrahieren von Eigenschaften aus einem Objekt in Variablen.
Beispiel:
const person = { name: "Alice", age: 25 }; const { name, age } = person; console.log(name); // Output: Alice console.log(age); // Output: 25
Hallo, ich bin Abhay Singh Kathayat!
Ich bin ein Full-Stack-Entwickler mit Fachwissen sowohl in Front-End- als auch in Back-End-Technologien. Ich arbeite mit einer Vielzahl von Programmiersprachen und Frameworks, um effiziente, skalierbare und benutzerfreundliche Anwendungen zu erstellen.
Sie können mich gerne unter meiner geschäftlichen E-Mail-Adresse erreichen: [email protected].
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3