Menu
Coddy logo textTech

Prüfen, ob Key existiert

Teil des Abschnitts Logik & Ablauf der JavaScript-Journey von Coddy — Lektion 16 von 65.

Um nach einem bestimmten Schlüssel in einem JSON-Objekt zu suchen, verwenden Sie entweder den in-Operator oder hasOwnProperty(). Zum Beispiel:

const product = { "name": "Laptop", "price": 900 };
if ("price" in product) {
  console.log("Key exists!");
}

if (product.hasOwnProperty("price")) {
  console.log("Key exists!");
}

Dies ist praktisch, um zu prüfen, ob bestimmte Daten vor der Verarbeitung vorhanden sind.

obj.hasOwnProperty("key") gibt false zurück, wenn obj key nicht als eigene Eigenschaft besitzt. Jedoch bedeutet obj.key === undefined nicht zwangsläufig, dass hasOwnProperty("key") false zurückgibt. Es gibt zwei Fälle, in denen obj.key undefined ist:

  • Die Eigenschaft existiert überhaupt nicht → hasOwnProperty("key") gibt false zurück.
  • Die Eigenschaft existiert, hat aber den Wert undefinedhasOwnProperty("key") gibt true zurück.

Zum Beispiel:

const obj1 = {};  
console.log(obj1.key); // undefined
console.log(obj1.hasOwnProperty("key"));
// false

const obj2 = { key: undefined };
console.log(obj2.key); // undefined
console.log(obj2.hasOwnProperty("key"));
// true
challenge icon

Aufgabe

Einfach

Erstelle eine Funktion namens toggleBookStatus, die ein Buch-Objekt als Parameter entgegennimmt. Die Funktion sollte:

  1. Wenn das Buch eine Eigenschaft isRead hat, die true ist, ändere sie auf false
  2. Wenn das Buch eine Eigenschaft isRead hat, die false ist, ändere sie auf true
  3. Wenn das Buch keine Eigenschaft isRead hat, füge sie hinzu und setze sie auf true
  4. Gib das modifizierte Buch-Objekt zurück

Spickzettel

Um nach einem bestimmten Schlüssel in einem JSON-Objekt zu suchen, verwenden Sie den in-Operator oder hasOwnProperty():

const product = { "name": "Laptop", "price": 900 };

// Verwendung des 'in'-Operators
if ("price" in product) {
  console.log("Key exists!");
}

// Verwendung von hasOwnProperty()
if (product.hasOwnProperty("price")) {
  console.log("Key exists!");
}

hasOwnProperty() gibt true zurück, wenn die Eigenschaft existiert (selbst wenn ihr Wert undefined ist), und false, wenn die Eigenschaft nicht existiert:

const obj1 = {};  
console.log(obj1.hasOwnProperty("key")); // false

const obj2 = { key: undefined };
console.log(obj2.hasOwnProperty("key")); // true

Probier es selbst

function toggleBookStatus(book) {
    // Schreibe deinen Code hier
}
// Schreibe nichts außerhalb der Funktion
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf