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")falsedöndürür. - Özellik mevcut ancak değeri
undefined→hasOwnProperty("key")truedö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"));
// trueGörev
KolayBir kitap nesnesini parametre olarak alan toggleBookStatus adında bir fonksiyon oluşturun. Fonksiyon şunları yapmalıdır:
- Eğer kitabın
isReadözelliğitrueise, onufalseolarak değiştirin - Eğer kitabın
isReadözelliğifalseise, onutrueolarak değiştirin - Eğer kitabın bir
isReadözelliği yoksa, bu özelliği ekleyin vetrueolarak ayarlayın - 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")); // trueKendin dene
function toggleBookStatus(book) {
// Kodunuzu buraya yazın
}
// Fonksiyon dışına hiçbir şey yazmayınBu 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
1Derinlemesine Stringler
String TemelleriString Üzerinde YinelemeTemplate LiteralsString MetotlarıÖzet - String Weaver4JSON Bölüm 2
JSON Üzerinde Yinelemeİç İçe Geçmiş JSONJSON Optional ChainingSığ ve Derin KopyalamaÖzet - Bisiklet MağazasıÖzet - Güneş Sistemi7Kütüphane Yönetim Sistemi
Projeye Genel BakışKitap Ekleme10Festival Sistemi Yönetimi
Projeye Genel BakışFilm ve Mekan Ekle2Çok Boyutlu Diziler
2D Dizi Temelleri2D Dizi Elemanlarına Erişme2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaDüzensiz Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey5Kümeler Bölüm 1
Küme Nedir?Kümeler Üzerinde YinelemeEleman EklemeEleman SilmeEleman Varlığını Kontrol EtmeBoyut ve Boş Olma DurumuKopyalama ve TemizlemeÖzet - Kümelerin Temelleri8Diziler: İlginç Konular
Dizi Yapı SökümüDizilerde Spread SözdizimiSeyrek DizilerÖzet - Diziler Workshop3JSON Bölüm 1
JSON Nedir?Anahtarın Varlığını Kontrol EtmeNesne MetotlarıSpread Operatörü Bölüm 1Spread Operatörü Bölüm 2Anahtarları KaldırmaÖzet - JSON Anahtarlarını Yönetme