انتقل إلى المحتوى

٤.٣ عرض الكائنات

الخصائص غير الموجودة

التمرين 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