٤.٣ عرض الكائنات¶
الخصائص غير الموجودة¶
التمرين 1: ما قيمة username في الكائن التالي؟
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
console.log(user.username);
النتيجة هي: AliZaki88
التمرين 2: ما قيمة address في الكائن التالي؟
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
console.log(user.address);
النتيجة هي: undefined
ملاحظة
عند قراءة خاصية غير موجودة تكون النتيجة undefined
التمرين 3: ما قيمة color في الكائن التالي؟
var markerPen = {
color: "red"
};
console.log(markerPen.color);
النتيجة هي: red
التمرين 4: ما قيمة brand في الكائن التالي؟
var markerPen = {
color: "red"
};
console.log(markerPen.brand);
النتيجة هي: undefined
التمرين 5: ما قيمة display في الكائن التالي؟
var phone = {
os: "Andriod",
ram: "8GB",
storage: "512GB"
};
console.log(phone.display);
النتيجة هي: undefined
التمرين 6: تحقّق من وجود الخاصية username في الكائن.
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
var hasUsernameProperty = user.username !==
undefined;
console.log(hasUsernameProperty);
النتيجة هي: true
التمرين 7: تحقّق من وجود الخاصية address في الكائن.
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
var hasAddressProperty = user.address !==
undefined;
console.log(hasAddressProperty);
النتيجة هي: false
التمرين 8: تحقّق من وجود الخاصية color في الكائن.
var markerPen = {
color: "red"
};
var hasColorProperty = markerPen.color !==
undefined;
console.log(hasColorProperty);
النتيجة هي: true
التمرين 9: تحقّق من وجود الخاصية brand في الكائن.
var markerPen = {
color: "red"
};
var hasBrandProperty = markerPen.brand !==
undefined;
console.log(hasBrandProperty);
النتيجة هي: false
التمرين 10: تحقّق من وجود الخاصية display في الكائن.
var phone = {
os: "Andriod",
ram: "8GB",
storage: "512GB"
};
var hasDisplayProperty = phone.display !==
undefined;
console.log(hasDisplayProperty);
النتيجة هي: false
hasOwnProperty()¶
التمرين 11: تحقّق من امتلاك الكائن الخاصية username. تلميح: استخدم user.hasOwnProperty("username")
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
var hasUsernameProperty = user.hasOwnProperty("username");
console.log(hasUsernameProperty);
النتيجة هي: true
التمرين 12: تحقّق من امتلاك الكائن الخاصية address. تلميح: استخدم user.hasOwnProperty("address")
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
var hasAddressProperty = user.hasOwnProperty("address");
console.log(hasAddressProperty);
النتيجة هي: false
Object.hasOwnProperty(property)
Object.hasOwnProperty(property) تُرجع true إذا كانت الخاصية خاصة بالكائن نفسه وليست موروثة؛ وإلا تُرجع false.
التمرين 13: تحقّق من امتلاك الكائن الخاصية color. تلميح: استخدم hasOwnProperty()
var markerPen = {
color: "red"
};
var hasColorProperty = markerPen.hasOwnProperty("color");
console.log(hasColorProperty);
النتيجة هي: true
التمرين 14: تحقّق من امتلاك الكائن الخاصية brand. تلميح: استخدم hasOwnProperty()
var markerPen = {
color: "red"
};
var hasBrandProperty = markerPen.hasOwnProperty("brand");
console.log(hasBrandProperty);
النتيجة هي: false
التمرين 15: تحقّق من امتلاك الكائن الخاصية display. تلميح: استخدم hasOwnProperty()
var phone = {
os: "Andriod",
ram: "8GB",
storage: "512GB"
};
var hasDisplayProperty = phone.hasOwnProperty("display");
console.log(hasDisplayProperty);
النتيجة هي: false
for...in¶
التمرين 16: افحص نتيجة الشيفرة التالية.
var video = {
length: "30min",
host: "Nawras Ali",
category: "Education",
title: "Create a WordPress Theme",
language: "Arabic"
};
for(var property in video){
console.log(property)
}
النتيجة كما يلي:
length
host
category
title
language
التمرين 17: افحص نتيجة الشيفرة التالية.
var book = {
weight: 0.5,
pages: 500
};
for(var prop in book){
console.log(prop);
}
النتيجة كما يلي:
weight
pages
التمرين 18: افحص نتيجة الشيفرة التالية.
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
for(var characteristic in user){
console.log(characteristic);
}
النتيجة كما يلي:
firstName
lastName
username
email
for...in
for...in تمرّ على خصائص الكائن القابلة للتعداد، بما فيها الموروثة.
صياغة for...in هي: for (var prop of object){ // statements }
التمرين 19: اعرض قيمة كل خاصية في سطر مستقل.
var user = {
firstName: "Ali",
lastName: "Zaki",
username: "AliZaki88",
email: "alizaki@mail.com"
}
for(var prop in user){
console.log(user[prop]);
}
النتيجة كما يلي:
Ali
Zaki
AliZaki88
alizaki@mail.com
التمرين 20: اعرض قيمة كل خاصية في سطر مستقل.
var phone = {
os: "Andriod",
ram: "8GB",
storage: "512GB"
};
for(var prop in phone){
console.log(phone[prop]);
}
النتيجة كما يلي:
Andriod
8GB
512GB
التمرين 21: اعرض مفتاح كل خاصية وقيمتها في سطر مستقل.
var markerPen = {
color: "red",
brand: "Claro"
};
for(var property in markerPen){
console.log(property + " : " + markerPen[property]);
}
النتيجة كما يلي:
color : red
brand : Claro