Menu
Coddy logo textTech

Sprawdzanie, czy klucz istnieje

Część sekcji Logika i przepływ programu ścieżki JavaScript w Coddy. Lekcja 16 z 65.

Aby sprawdzić, czy w obiekcie JSON znajduje się określony klucz, użyj operatora in lub metody hasOwnProperty(). Na przykład:

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

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

To przydaje się podczas sprawdzania, czy określone dane są dostępne przed ich przetworzeniem.

obj.hasOwnProperty("key") zwróci false, jeśli obj nie ma key jako własnej właściwości. Jednak obj.key === undefined nie musi oznaczać, że hasOwnProperty("key") zwróci false. Istnieją dwa przypadki, w których obj.key ma wartość undefined:

  • Właściwość w ogóle nie istnieje → hasOwnProperty("key") zwraca false.
  • Właściwość istnieje, ale ma wartość undefined → hasOwnProperty("key") zwraca true.

Na przykład:

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

Wyzwanie

Łatwy

Utwórz funkcję o nazwie toggleBookStatus, która przyjmuje obiekt książki jako parametr. Funkcja powinna:

  1. Jeśli książka ma właściwość isRead o wartości true, zmienić ją na false
  2. Jeśli książka ma właściwość isRead o wartości false, zmienić ją na true
  3. Jeśli książka nie ma właściwości isRead, dodać ją i ustawić na true
  4. Zwrócić zmodyfikowany obiekt książki

Spróbuj swoich sił

function toggleBookStatus(book) {
    // Wpisz tutaj swój kod
}
// Nie pisz niczego poza funkcją
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator JavaScript online