Every built-in function and every built-in constructor has the
Function prototype object, which is the initial value of the
expression Function.prototype (15.3.2.1), as the value of its internal
[[Prototype]]
property.
Every built-in prototype object has the Object prototype object, which
is the initial value of the expression Object.prototype (15.3.2.1), as
the value of its internal [[Prototype]] property, except the Object
prototype object itself.
The first paragraph is correct. The second one is not.
The problem is that Object.prototype is not found at 15.3.2.1.
Instead, the link should be to 15.2.3.1
More...
15.3.4 Properties of the Function Prototype Object
The Function prototype object is itself a Function object (its
[[Class]] is "Function") that, when invoked, accepts any arguments and
returns undefined.
87 -
The value of the internal [[Prototype]] property of the Function
prototype object is the Object prototype object (15.3.2.1).
================================================================
Again, the link should be to 15.2.3.1
It makes it nearly useless when we see a link that does not have context:
15.11.6.4 SyntaxError
Indicates that a parsing error has occurred. See 15.1.2.1, 15.3.2.1,
15.10.2.5, 15.10.2.9, 15.10.2.15, 15.10.2.19, and 15.10.4.1.
That the spec is written the way it is, and does not use HTML or
hyperlinks seems to make it harder to learn. A good example of a
specification that uses hyperlinks effectively:
java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
Other examples would be PHP.net or W3C Specifications (like HTML 4),
although these are more aimed at developers.
I read through Waldemar Horwat's Errata and did not find it here:
http://www.mozilla.org/js/language/E262-3-errata.html
here's the spec, including errata:
================================================================
Every built-in function and every built-in constructor has the
Function prototype object, which is the initial value of the
expression Function.prototype (15.3.2.1), as the value of its internal
[[Prototype]]
property.
Every built-in prototype object has the Object prototype object, which
is the initial value of the expression Object.prototype (15.3.2.1), as
the value of its internal [[Prototype]] property, except the Object
prototype object itself.
================================================================
The first paragraph is correct. The second one is not.
The problem is that Object.prototype is not found at 15.3.2.1.
Instead, the link should be to 15.2.3.1
More...
================================================================
15.3.4 Properties of the Function Prototype Object
The Function prototype object is itself a Function object (its
[[Class]] is "Function") that, when invoked, accepts any arguments and
returns undefined.
- 87 -
The value of the internal [[Prototype]] property of the Function
prototype object is the Object prototype object (15.3.2.1).
================================================================
Again, the link should be to 15.2.3.1
It makes it nearly useless when we see a link that does not have context:
================================================================
15.11.6.4 SyntaxError
Indicates that a parsing error has occurred. See 15.1.2.1, 15.3.2.1,
15.10.2.5, 15.10.2.9, 15.10.2.15, 15.10.2.19, and 15.10.4.1.
================================================================
That the spec is written the way it is, and does not use HTML or
hyperlinks seems to make it harder to learn. A good example of a
specification that uses hyperlinks effectively:
http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
Other examples would be PHP.net or W3C Specifications (like HTML 4),
although these are more aimed at developers.
--
Programming is a collaborative art.
I read through Waldemar Horwat's Errata and did not find it here: www.mozilla.org/js/language/E262-3-errata.html
here's the spec, including errata:
Every built-in function and every built-in constructor has the Function prototype object, which is the initial value of the expression Function.prototype (15.3.2.1), as the value of its internal [[Prototype]] property.
Every built-in prototype object has the Object prototype object, which is the initial value of the expression Object.prototype (15.3.2.1), as the value of its internal [[Prototype]] property, except the Object prototype object itself.
The first paragraph is correct. The second one is not.
The problem is that Object.prototype is not found at 15.3.2.1.
Instead, the link should be to 15.2.3.1
More...
15.3.4 Properties of the Function Prototype Object The Function prototype object is itself a Function object (its [[Class]] is "Function") that, when invoked, accepts any arguments and returns undefined.
Again, the link should be to 15.2.3.1
It makes it nearly useless when we see a link that does not have context:
15.11.6.4 SyntaxError Indicates that a parsing error has occurred. See 15.1.2.1, 15.3.2.1, 15.10.2.5, 15.10.2.9, 15.10.2.15, 15.10.2.19, and 15.10.4.1.
That the spec is written the way it is, and does not use HTML or hyperlinks seems to make it harder to learn. A good example of a specification that uses hyperlinks effectively: java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
Other examples would be PHP.net or W3C Specifications (like HTML 4), although these are more aimed at developers.