خصائص كائن JavaScript
الخصائص هي أهم جزء في أي كائن JavaScript.
خصائص جافا سكريبت
الخصائص هي القيم المرتبطة بكائن JavaScript.
كائن JavaScript عبارة عن مجموعة من الخصائص غير المرتبة.
يمكن عادةً تغيير الخصائص وإضافتها وحذفها ، لكن بعضها للقراءة فقط.
الوصول إلى خصائص JavaScript
بناء الجملة للوصول إلى خاصية الكائن هو:
objectName.property // person.age
أو
objectName["property"] // person["age"]
أو
objectName[expression] // x = "age"; person[x]
يجب تقييم التعبير إلى اسم خاصية.
مثال 1
person.firstname + " is " + person.age + " years old.";
مثال 2
person["firstname"] + " is " + person["age"] + " years old.";
JavaScript لـ ... في Loop
تتكرر عبارة JavaScript for...in
خلال خصائص الكائن.
بناء الجملة
for (let variable in object) {
// code to be executed
}
سيتم تنفيذ كتلة الكود داخل for...in
الحلقة مرة واحدة لكل خاصية.
التكرار خلال خصائص الكائن:
مثال
const person = {
fname:" John",
lname:" Doe",
age: 25
};
for (let x in person) {
txt += person[x];
}
إضافة خصائص جديدة
يمكنك إضافة خصائص جديدة إلى كائن موجود بمجرد إعطائه قيمة.
افترض أن كائن الشخص موجود بالفعل - يمكنك بعد ذلك منحه خصائص جديدة:
مثال
person.nationality = "English";
حذف الخصائص
الكلمة الأساسية delete
تحذف خاصية من كائن:
مثال
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person.age;
أو حذف الشخص ["العمر"] ؛
مثال
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person["age"];
الكلمة الأساسية delete
تحذف كلاً من قيمة الخاصية والممتلكات نفسها.
بعد الحذف ، لا يمكن استخدام الخاصية قبل إعادتها مرة أخرى.
تم
delete
تصميم عامل التشغيل لاستخدامه في خصائص الكائن. ليس له تأثير على المتغيرات أو الوظائف.
لا ينبغي delete
استخدام عامل التشغيل في خصائص كائن JavaScript محددة مسبقًا. يمكن أن يؤدي إلى تعطل التطبيق الخاص بك.
كائنات متداخلة
يمكن أن تكون القيم في كائن كائنًا آخر:
مثال
myObj = {
name:"John",
age:30,
cars: {
car1:"Ford",
car2:"BMW",
car3:"Fiat"
}
}
يمكنك الوصول إلى الكائنات المتداخلة باستخدام تدوين النقطة أو قوس القوس:
مثال
myObj.cars.car2;
أو:
مثال
myObj.cars["car2"];
أو:
مثال
myObj["cars"]["car2"];
أو:
مثال
let p1 = "cars";
let p2 = "car2";
myObj[p1][p2];
المصفوفات والكائنات المتداخلة
يمكن أن تكون القيم في الكائنات عبارة عن مصفوفات ، ويمكن أن تكون القيم في المصفوفات كائنات:
مثال
const myObj =
{
name: "John",
age: 30,
cars: [
{name:"Ford",
models:["Fiesta", "Focus", "Mustang"]},
{name:"BMW", models:["320", "X3", "X5"]},
{name:"Fiat", models:["500", "Panda"]}
]
}
للوصول إلى المصفوفات الموجودة داخل المصفوفات ، استخدم حلقة for-in لكل مصفوفة:
مثال
for (let i in myObj.cars) {
x += "<h1>" + myObj.cars[i].name
+ "</h1>";
for (let j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
سمات الملكية
جميع الخصائص لها اسم. بالإضافة إلى ذلك ، لديهم أيضًا قيمة.
القيمة هي إحدى سمات الخاصية.
السمات الأخرى هي: قابل للعد ، وقابل للتكوين ، وقابل للكتابة.
تحدد هذه السمات كيف يمكن الوصول إلى الخاصية (هل هي قابلة للقراءة ؟، هل هي قابلة للكتابة؟)
في JavaScript ، يمكن قراءة جميع السمات ، ولكن يمكن تغيير سمة القيمة فقط (وفقط إذا كانت الخاصية قابلة للكتابة).
(يحتوي ECMAScript 5 على طرق لكلٍ من الحصول على كافة سمات الخصائص وتعيينها)
خصائص النموذج الأولي
ترث كائنات JavaScript خصائص نموذجها الأولي.
لا delete
تحذف الكلمة الأساسية الخصائص الموروثة ، ولكن إذا قمت بحذف خاصية النموذج الأولي ، فسوف تؤثر على جميع الكائنات الموروثة من النموذج الأولي.