From ca287b24a9d00ae46e4425a0ced7441ca7838904 Mon Sep 17 00:00:00 2001 From: Michael Dyck Date: Sat, 3 Sep 2022 22:11:56 -0400 Subject: [PATCH] Eliminate most other uses of "callable" --- spec.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spec.html b/spec.html index 3be809425a0..ff51aba25e0 100644 --- a/spec.html +++ b/spec.html @@ -2982,7 +2982,7 @@

Object Internal Methods and Internal Slots

(any, a List of any) any - Executes code associated with this object. Invoked via a function call expression. The arguments to the internal method are a *this* value and a List whose elements are the arguments passed to the function by a call expression. Objects that implement this internal method are callable. + Executes code associated with this object. Invoked via a function call expression. The arguments to the internal method are a *this* value and a List whose elements are the arguments passed to the function by a call expression. Objects that implement this internal method are functions. @@ -4055,8 +4055,8 @@

The Completion Record Specification Type

  • abrupt completion refers to any Completion Record with a [[Type]] value other than ~normal~.
  • a normal completion containing some type of value refers to a normal completion that has a value of that type in its [[Value]] field.
  • -

    Callable objects that are defined in this specification only return a normal completion or a throw completion. Returning any other kind of Completion Record is considered an editorial error.

    -

    Implementation-defined callable objects must return either a normal completion or a throw completion.

    +

    Functions that are defined in this specification only return a normal completion or a throw completion. Returning any other kind of Completion Record is considered an editorial error.

    +

    Implementation-defined functions must return either a normal completion or a throw completion.

    Await

    @@ -13775,7 +13775,7 @@

    Bound Function Exotic Objects

    [[BoundTargetFunction]] - a callable Object + a function object The wrapped function object. @@ -28332,7 +28332,7 @@

    Forbidden Extensions

    ECMAScript Standard Built-in Objects

    There are certain built-in objects available whenever an ECMAScript |Script| or |Module| begins execution. One, the global object, is part of the global environment of the executing program. Others are accessible as initial properties of the global object or indirectly as properties of accessible built-in objects.

    -

    Unless specified otherwise, a built-in object that is callable as a function is a built-in function object with the characteristics described in . Unless specified otherwise, the [[Extensible]] internal slot of a built-in object initially has the value *true*. Every built-in function object has a [[Realm]] internal slot whose value is the Realm Record of the realm for which the object was initially created.

    +

    Unless specified otherwise, a built-in object that is a function is a built-in function object with the characteristics described in . Unless specified otherwise, the [[Extensible]] internal slot of a built-in object initially has the value *true*. Every built-in function object has a [[Realm]] internal slot whose value is the Realm Record of the realm for which the object was initially created.

    Many built-in objects are functions: they can be invoked with arguments. Some of them furthermore are constructors: they are functions intended for use with the `new` operator. For each built-in function, this specification describes the arguments required by that function and the properties of that function object. For each built-in constructor, this specification furthermore describes properties of the prototype object of that constructor and properties of specific object instances returned by a `new` expression that invokes that constructor.

    Unless otherwise specified in the description of a particular function, if a built-in function or constructor is given fewer arguments than the function is specified to require, the function or constructor shall behave exactly as if it had been given sufficient additional arguments, each such argument being the *undefined* value. Such missing arguments are considered to be “not present” and may be identified in that manner by specification algorithms. In the description of a particular function, the terms “*this* value” and “NewTarget” have the meanings given in .

    Unless otherwise specified in the description of a particular function, if a built-in function or constructor described is given more arguments than the function is specified to allow, the extra arguments are evaluated by the call and then ignored by the function. However, an implementation may define implementation specific behaviour relating to such arguments as long as the behaviour is not the throwing of a *TypeError* exception that is predicated simply on the presence of an extra argument.