لإنشاء الكائنات ، بالإضافة إلى استخدام الحرفيين والمشغلين الجدد ، في ecmascript 5 ، يمكن أيضًا استخدام Object.create (). تقبل الدالة Object.Create () كائنين كمعلمات: الكائن الأول مطلوب لتمثيل النموذج الأولي للكائن الذي تم إنشاؤه ؛ الكائن الثاني اختياري لتحديد الخصائص المختلفة للكائن الذي تم إنشاؤه (مثل القابل للكتابة ، التعداد).
نسخة الكود كما يلي:
var o = object.create ({x: 1 ، y: 7}) ؛
console.log (o) ؛ // object {x = 1 ، y = 7}
console.log (o .__ proto __) ؛ // object {x = 1 ، y = 7}
استدعاء الكائن.
نسخة الكود كما يلي:
var o2 = object.create (null) ؛
console.log ("It" + O2) ؛ // خطأ في النوع ، لا يمكن تحويل O2 إلى النوع البدائي
بالنسبة للمتصفحات التي تدعم فقط معيار ECMASCRIPT 3 ، يمكنك استخدام طريقة Douglas Crockford لأداء Object.create () العملية:
نسخة الكود كما يلي:
if (typeof object.create! == 'function') {
object.create = function (o) {
الدالة f () {}
f.prototype = o ؛
إرجاع جديد f () ؛
} ؛
}
newObject = object.create (OldObject) ؛