archives

« Bugzilla Issues Index

#4247 — Inconsistent `prototype` property descriptors


RC3 defines different property descriptors for the `prototype` property of
function instances and generator function instances. The text is very explicit
about this, but I can't intuit the rationale for such a distinction (nor can I
find relevant discussion in es-discuss, the TC39 meeting minutes, or this issue
tracker), so I suspect it may be a typo.

From ES6 19.2.4.3 [1] (function instance `prototype` property):

> This property has the attributes { [[Writable]]: true, [[Enumerable]]: false,
> [[Configurable]]: false }.

From ES6 25.2.4.2 [2] (generator function instance `prototype` property):

> This property has the attributes { [[Writable]]: false, [[Enumerable]]:
> false, [[Configurable]]: true }.

[1] https://people.mozilla.org/~jorendorff/es6-draft.html#sec-function-instances-prototype
[2] https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorfunction-instances-prototype


looks like a bug in the description 25.2.4.2 because the actual creation of generator functions in 14.4.12 create a writable, non-configurable prototype property. The same logic is used to do this for both functions and generator functions

fixed in rev37 editor's draft


In Rev37