public static ArrayConstructor CreateArrayConstructor(Engine engine) { var obj = new ArrayConstructor(engine); obj.Extensible = true; // The value of the [[Prototype]] internal property of the Array constructor is the Function prototype object obj.Prototype = engine.Function.PrototypeObject; obj.PrototypeObject = ArrayPrototype.CreatePrototypeObject(engine, obj); obj.FastAddProperty("length", 1, false, false, false); // The initial value of Array.prototype is the Array prototype object obj.FastAddProperty("prototype", obj.PrototypeObject, false, false, false); return obj; }