x no es una función ... ¿qué esperaría que hiciera Object.create con un constructor?

Para esta pregunta, no espero una solución para resolver algo, pero me gustaría entender mejor las cosas ...

Algunas citas de las especificaciones:

Edición 5.1 (Enlazar)

§15.2.3.5 Object.create (O [, Propiedades])

La función crear crea un nuevo objeto con un prototipo específico. Cuando se llama a la función de creación, se toman los siguientes pasos:

Si el Tipo (O) no es Objeto o Nulo lanza una excepción TypeError.Sea obj el resultado de crear un nuevo objeto como por la expresión nuevo Objeto () donde Objeto es el constructor incorporado estándar con ese nombreEstablezca [[Prototype]] propiedad interna de obj en O.Si el argumento Propiedades está presente y no está definido, agregue propiedades propias a obj como llamando a la función incorporada estándar Object.defineProperties con argumentos obj y Propiedades.Volver obj.

Edición 6 - borrador (Enlazar)

§19.1.3.2 Object.create (O [, Propiedades])

La función crear crea un nuevo objeto con un prototipo específico. Cuando se llama a la función de creación, se toman los siguientes pasos:

Si el Tipo (O) no es Objeto o Nulo lanza una excepción TypeError.Sea obj el resultado de la operación abstracta ObjectCreate con el argumento O.Si el argumento Propiedades está presente y no está definido, entonces a. Devuelve el resultado de la operación abstracta ObjectDefineProperties (obj, Propiedades).Volver obj.

Si entendí correctamente, ambas especificaciones permiten que se ejecute el siguiente código:

function F() {
}

var x=Object.create(F);

// a minimal test
alert(x.prototype.constructor===F); // true
alert(x instanceof Function) // true
alert(typeof x) // 'object'

Parece que creó un objeto de un tipo derivado de(perdón por la mala terminología ..) Function Como lo probé en FireFox, y asíx esno invocable:

x(); // x is not a function 

Estoy pensando en por qué no permite que un constructor sea utilizado comoO o simplemente crear un constructor válido.

Así que me pregunto qué esperaría que hiciera Object.create con un constructor?

Respuestas a la pregunta(2)

Su respuesta a la pregunta