Object.create 的原始定义是什么?

What is the original definition of Object.create?

function Object.create(o) {
     function F() {} 
     F.prototype = o;
     return new F(); 
}

我认为这等同于 Object.create 的当前 ES6 实现。

What was the version before (it clearly changed since the new keyword didn't exist)?

没有。 new一直存在于JavaScript。

Is the definition without new equivalent to the one with it?

Object.create 被添加到 ES5 的标准库之前,没有任何版本没有 newstandard version 直接使用给定的原型创建一个对象,而不是必须通过构造函数调用来完成,但除了没有创建不必要的构造函数之外,结果是相同的。

If it changed, were there any others (by the Good Parts author or officially)? e.g. ES5, if it is not equivalent to ES6.

没变。标准版本是在 ES5 中添加的(不是 ES2015/ES6),此后没有发生实质性变化。 (规范的文本已经更改,因为从那时起整个规范发生了相当大的变化,但所采取的基本步骤和结果是相同的。)