Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التحقق من وجود المفتاح

جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 16 من 65.

للتحقق من وجود مفتاح معين في كائن JSON، استخدم إما معامل in أو hasOwnProperty(). على سبيل المثال:

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

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

هذا مفيد عند التحقق من وجود بيانات معينة قبل معالجتها.

سيعيد obj.hasOwnProperty("key") القيمة false إذا لم يكن لدى obj الخاصية key كخاصية خاصة به. ومع ذلك، فإن obj.key === undefined لا يعني بالضرورة أن hasOwnProperty("key") سيعيد false. هناك حالتان يكون فيهما obj.key هو undefined:

  • الخاصية غير موجودة على الإطلاق ← hasOwnProperty("key") تعيد false.
  • الخاصية موجودة ولكن قيمتها undefinedhasOwnProperty("key") تعيد true.

على سبيل المثال:

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

التحدي

سهل

أنشئ دالة تسمى toggleBookStatus تأخذ كائن كتاب كمعامل. يجب على الدالة القيام بما يلي:

  1. إذا كان الكتاب يحتوي على خاصية isRead قيمتها true، فقم بتغييرها إلى false
  2. إذا كان الكتاب يحتوي على خاصية isRead قيمتها false، فقم بتغييرها إلى true
  3. إذا لم يكن الكتاب يحتوي على خاصية isRead، فقم بإضافتها وتعيينها إلى true
  4. إرجاع كائن الكتاب المعدل

ورقة مرجعية

للتحقق من وجود مفتاح معين في كائن JSON، استخدم عامل التشغيل in أو hasOwnProperty():

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

// باستخدام عامل التشغيل 'in'
if ("price" in product) {
  console.log("Key exists!");
}

// باستخدام hasOwnProperty()
if (product.hasOwnProperty("price")) {
  console.log("Key exists!");
}

تُرجع hasOwnProperty() القيمة true إذا كانت الخاصية موجودة (حتى لو كانت قيمتها undefined)، و false إذا كانت الخاصية غير موجودة:

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

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

جرّب بنفسك

function toggleBookStatus(book) {
    // اكتب كودك هنا
}
// لا تكتب أي شيء خارج الدالة
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow