في JavaScript ، باستثناء الرقم ، السلسلة ، منطقية ، فارغة وغير محددة ، جميع القيم الأخرى هي كائنات. يمكن إعلان الكائنات مباشرة من خلال الحرفية أو المنشأة حديثًا من خلال المشغل الجديد. على عكس لغة Java ، يمكن إضافة أو حذف الخصائص في كائنات JavaScript ديناميكيًا ؛ في الوقت نفسه ، يمكن أن تكون العقارات في الكائنات سلاسل فارغة:
نسخة الكود كما يلي:
// يمكن إضافة/حذف الخصائص في الكائن ديناميكيًا
var o = {x: 1 ، y: 2} ؛
console.log (o) ؛ // object {x = 1 ، y = 2}
حذف OY ؛
oz = 3 ؛
console.log (o) ؛ // object {x = 1 ، z = 3}
// يسمح السلسلة الفارغة كخاصية كائن
var o2 = {"": 88 ، "p": 99} ؛
console.log (O2) ؛ // Object {= 88 ، p = 99}
// لوظيفة المنشئ ، فإن العملية "الجديدة" تُرجع كائنًا.
وظيفة الكمبيوتر (x ، y) {
this.x = x ؛
this.y = y ؛
}
var c = جهاز كمبيوتر جديد (126 ، 163) ؛
console.log (c) ؛ // computer {x = 126 ، y = 163}
var c2 = كمبيوتر جديد (126) ؛ // ستكون قيمة المعلمة المفقودة "غير محددة"
console.log (c2) ؛ // computer {x = 126 ، y = undefined}
CZ = 66 ؛
console.log (c) ؛ // computer {x = 126 ، y = 163 ، z = 66}
حذف cy ؛
console.log (c) ؛ // computer {x = 126 ، z = 66}
إذا كانت الوظيفة التي تعمل ليست مُنشئًا فئة ، ولكنها مجرد وظيفة عادية عند استخدام المشغل الجديد لإنشاء كائن جديد ، فسيقوم JavaScript بإرجاع كائن فارغ بعد تنفيذ الوظيفة:
نسخة الكود كما يلي:
// للوظيفة النقية ، تقوم العملية "الجديدة" بإرجاع كائن فارغ.
وظيفة حساب (x) {
console.log ("تنفيذ وظيفة حساب") ؛
إرجاع x*2 ؛
}
var a = new compute () ؛
console.log (a) ؛ // compute {}
خاصية الكائن
يحتوي الكائن في JavaScript على الخصائص الثلاثة التالية:
1. النمط. مرجع ، مشيرا إلى كائن النموذج الأولي للكائن. يمكن أن يتم توريث الخاصية في كائن النموذج الأولي بواسطة الكائن.
2. class. سلسلة ، تمثل اسم فئة الكائن.
3.extensible. قيمة منطقية ، تشير إلى ما إذا كان الإضافة الديناميكية للخصائص مسموح بها في الكائن. هذه الخاصية صالحة فقط في ECMASCRIPT 5.
خصائص الممتلكات
يحتوي الخاصية في الكائن أيضًا على 3 خصائص:
1. القابلية للتسجيل. هل هذه الممتلكات قابلة للكتابة؟
2. أمر لا يطاق. عند استخدام POT/في البيان ، هل سيتم تعداد العقار؟
3. قابلة للتكوين. ما إذا كان يمكن تعديل خصائص العقار وما إذا كان يمكن حذف العقار.