What was the version before (it clearly changed since the new keyword didn't exist)?
There wasn't one. new
has always existed in JavaScript.
Is the definition without new
equivalent to the one with it?
Until Object.create
was added to the standard library in ES5, there wasn't any version without new
. The standard version creates an object with the given prototype directly, rather than having to do it via a constructor call, but the result is the same other than no unnecessary constructor function is created.
If it changed, were there any others (by the Good Parts author or officially)? e.g. ES5, if it is not equivalent to ES6.
It didn't change. The standard version was added in ES5 (not ES2015/ES6) and hasn't changed substantively since. (The text of the spec has changed because the spec as a whole has changed a fair bit since then, but the fundamental steps taken and the result are the same.)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…