الكائنات فى جافا سكريبت | JavaScript Objects
JavaScript Objects – فى هذا الفصل سيتم شرح الكائنات وكيفية إنشائها و استخدامها بالتفصيل، مع الأمثلة التوضيحية.
الكائنات فى جافا سكريبت – JavaScript Objects
أولًا: ما هو الكائن؟ الكائن عبارة عن مجموعة من الخصائص properties، والخاصية هي ارتباط بين اسم (أو مفتاح) وقيمة key & value. يمكن أن تكون قيمة الخاصية دالة function، وفي هذه الحالة تُعرف الخاصية بالـ method.
مثال على كائن JavaScript:
const userInfo = {
name:"Hamed",
gender:"male",
age:"30"
};
فى المثال السابق، الـ userInfo هو كائن يخزن المعلومات والقيم على هيئة key (مثل name) و value (مثل Hamed) وهكذا.
إعلان كائن JavaScript
بناء الجملة للإعلان عن كائن بخصائ، كالتالى:
const yourObjectName = {
key1: value1,
key2: value2,
key3: value3,
// ... etc
}
لإنشاء كائن بخصائص ، يمكنك استخدام المفتاح: القيمة (key: value) داخل الأقواس المتعرجة {}. على سبيل المثال ، يؤدي ما يلي إلى إنشاء كائن student جديد:
const student = {name: "Mohamed", class: 3, age: 16};
يمكنك أيضًا تحديد كائن في أسطر متعددة، كالتالى:
const student = {
name: "Mohamed",
class: 3,
age: 16
};
عندما يكون للكائن خصائص متعددة ، يمكنك استخدام فاصلة (,) للفصل بينها.
كيفية الوصول إلى خصائص الكائن؟
للوصول إلى خاصية كائن ما ، يمكنك استخدام واحدة من اثنتين:
- Dot Notation.
- Bracket Notation.
Dot Notation .1 ( . )
يوضح بناء الجملة التالى كيفية استخدام طريقة الـ dot notation للوصول إلى خاصية كائن:
yourObjectName.key;
على سبيل المثال:
const car = {
name: "BMW",
color: "Black"
};
console.log(car.name); // Outputs: BMW
2. Bracket Notation ( [] )
يوضح بناء الجملة التالى كيفية استخدام طريقة الـ bracket notation للوصول إلى خاصية كائن:
yourObjectName["key"];
على سبيل المثال:
const car = {
name: "BMW",
color: "Black"
};
console.log(car["color"]); // Outputs: Black
ملاحظة: عندما يحتوي اسم الخاصية على مسافات ، فأنت بحاجة إلى وضعه داخل علامات الاقتباس ‘ ‘ ، كالتالى:
const person = {
name: "Ali",
'Work address': "Egypt",
age: 30
};
فى المثال السابق، يحتوي كائن person على “Work address” كخاصية. للوصول إلى هذه الخاصية، تحتاج إلى استخدام notation يشبه المصفوفة، كالتالى:
person['Work address'];
لا يمكنك إستخدم طريقة الـ dot notation للوصول إلى خاصية تحتوى على مسافات. وإذا إستخدمتها سوف تتلقى خطأ.
تغيير قيمة الخاصية
لتغيير قيمة خاصية ما ، يمكنك استخدام عامل التعيين (=) ثم القيمة الجديدة. على سبيل المثال:
let person = {
name: "Ali",
age: 30
};
console.log(person['name']); // Outputs = Ali
person['name'] = 'Esam';
console.log(person['name']); // Outputs = Esam
إضافة خاصية جديدة إلى كائن
يمكنك إضافة خاصية إلى كائن بعد إنشاء الكائن. كالتالى:
let person = {
name: "Ali",
age: 30
};
person['gender'] = 'Male';
حذف خاصية الكائن
لحذف خاصية كائن ما ، يمكنك استخدام عامل الحذف delete، كالتالى:
let person = {
name: "Ali",
age: 30
};
delete person['name'];
console.log(person['name']); // Outputs = undefined
فى المثال السابق، بعد ما حذفت خاصية name، حاولت أوصل إلى الخاصية مرة أخرى ، لكن المخرجات كانت undefined.
الكائنات المتداخلة – Nested Objects
يمكن أن يحتوي الكائن أيضًا على كائن آخر. على سبيل المثال:
// Nested Object
const myMother = {
name: "Eman Mohamed",
age: 43,
children: {
firstChild: "Mona",
secondChild: "Hamed",
thirdChild: "Alaa",
}
};
// To access on myMother
console.log(myMother["name"]); // Outputs = Eman Mohamed
// To access on children of myMother
console.log(myMother["children"]["secondChild"]); // Outputs = Hamed
// ---- or -----
console.log(myMother.children.secondChild); // Outputs = Hamed
دوال الكائن
يمكن أن يحتوي الكائن أيضًا على دالة function. كالتالى:
let userInfo = {
name:"Hamed",
gender:"male",
age:"30"
};
userInfo.message = function () {
// Put here anything you want...
console.log('Hello User!'); // Outputs = Hello User!
}
أو يمكنك إستخدام الطريقة المختصرة، كالتالى:
const userInfo = {
name:"Hamed",
gender:"male",
age:"30",
message: function () {
// Put here anything you want...
console.log('Hello User!');
}
};
userInfo.message(); // Outputs = Hello User!
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!