diff --git a/spec.html b/spec.html index d550baa3abf..4174c6cf3aa 100644 --- a/spec.html +++ b/spec.html @@ -28593,22 +28593,22 @@
Unless otherwise specified every built-in function and every built-in constructor has the Function prototype object, which is the initial value of the expression `Function.prototype` (
Unless otherwise specified every built-in prototype object has the Object prototype object, which is the initial value of the expression `Object.prototype` (
Built-in function objects that are not identified as constructors do not implement the [[Construct]] internal method unless otherwise specified in the description of a particular function.
-Each built-in function defined in this specification is created by calling CreateBuiltinFunction. The values of the _length_ and _name_ parameters are the initial values of the *"length"* and *"name"* properties as discussed below. The values of the _prefix_ parameter are similarly discussed below.
+Each built-in function defined in this specification is created by calling CreateBuiltinFunction. The value of the _length_ parameter is the initial value of the *"length"* property as discussed below. The value of the _name_ and _prefix_ parameters are similarly discussed below.
Every built-in function object, including constructors, has a *"length"* property whose value is a non-negative integral Number. Unless otherwise specified, this value is equal to the number of required parameters shown in the subclause heading for the function description. Optional parameters and rest parameters are not included in the parameter count.
For example, the function object that is the initial value of the *"map"* property of the Array prototype object is described under the subclause heading «Array.prototype.map (callbackFn [ , thisArg])» which shows the two named arguments callbackFn and thisArg, the latter being optional; therefore the value of the *"length"* property of that function object is *1*𝔽.
Unless otherwise specified, the *"length"* property of a built-in function object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
-Every built-in function object, including constructors, has a *"name"* property whose value is a String. The value may be explicitly specified, as for each built-in function associated with a property whose property key is a Symbol value (for example,
Some built-in function objects are defined in one section and referenced in one or more other sections specifying their reuse as the value of another property, and for such functions the value of the *"name"* property is determined by the section defining their behaviour. For example, the value of the *"name"* property of %Object% is *"Object"* despite use of that function object as the value for both `Object` and `Object.prototype.constructor` (
When calling CreateBuiltinFunction to create a built-in function object, the values passed to the _name_ and _prefix_ parameters are derived from its *"name"* property as defined above and its disposition according to the following rules:
+Every built-in function object, including constructors, has a *"name"* property whose value is a String set by CreateBuiltinFunction using the _name_ and _prefix_ parameters. The value of its *"name"* property may be explicitly specified, as for each built-in function associated with a property whose property key is a Symbol value (for example,
Some built-in function objects are defined in one section and referenced in one or more other sections specifying their reuse as the value of another property, and for such functions the values passed to CreateBuiltinFunction are determined by the section defining their behaviour. For example, the value of the *"name"* property of %Object% is *"Object"* despite use of that function object as the value for both `Object` and `Object.prototype.constructor` (
Unless otherwise specified, the *"name"* property of a built-in function object has the attributes { [[Writable]]: *false*, [[Enumerable]]: *false*, [[Configurable]]: *true* }.
Every other data property described in clauses
Every accessor property described in clauses