Menu
Coddy logo textTech

Anahtarın Varlığını Kontrol Etme

Coddy'nin JavaScript Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 16 / 65.

Bir JSON nesnesinde belirli bir anahtarın olup olmadığını kontrol etmek için in operatörünü veya hasOwnProperty() yöntemini kullanın. Örneğin:

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

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

Bu, işlemeden önce belirli verilerin mevcut olup olmadığını doğrularken kullanışlıdır.

obj.hasOwnProperty("key"), obj key özelliğine kendi özelliği olarak sahip değilse false dönecektir. Ancak obj.key === undefined olması, hasOwnProperty("key") fonksiyonunun mutlaka false döneceği anlamına gelmez. obj.key değerinin undefined olduğu iki durum vardır:

  • Özellik hiç mevcut değil → hasOwnProperty("key") false döndürür.
  • Özellik mevcut ancak değeri undefinedhasOwnProperty("key") true döndürür.

Örneğin:

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

Görev

Kolay

Bir kitap nesnesini parametre olarak alan toggleBookStatus adında bir fonksiyon oluşturun. Fonksiyon şunları yapmalıdır:

  1. Eğer kitabın isRead özelliği true ise, onu false olarak değiştirin
  2. Eğer kitabın isRead özelliği false ise, onu true olarak değiştirin
  3. Eğer kitabın bir isRead özelliği yoksa, bu özelliği ekleyin ve true olarak ayarlayın
  4. Değiştirilmiş kitap nesnesini döndürün

Kopya kağıdı

Bir JSON nesnesinde belirli bir anahtarın olup olmadığını kontrol etmek için in operatörünü veya hasOwnProperty() yöntemini kullanın:

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

// 'in' operatörü kullanımı
if ("price" in product) {
  console.log("Key exists!");
}

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

hasOwnProperty(), özellik mevcutsa (değeri undefined olsa bile) true, özellik mevcut değilse false değerini döndürür:

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

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

Kendin dene

function toggleBookStatus(book) {
    // Kodunuzu buraya yazın
}
// Fonksiyon dışına hiçbir şey yazmayın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler