Menu
Coddy logo textTech

בדיקה אם מפתח קיים

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-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.
  • המאפיין קיים, אך הערך שלו הוא undefined → hasOwnProperty("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. להחזיר את אובייקט הספר ששונה

נסו בעצמכם

function toggleBookStatus(book) {
    // כתבו כאן את הקוד שלכם
}
// אל תכתבו דבר מחוץ לפונקציה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

תרגלו בעצמכם: קומפיילר JavaScript אונליין