The Reflect object is the %Reflect% intrinsic object and the initial value of the Reflect property of the
global object.The Reflect object is an ordinary object.
The value of the [[Prototype]] internal slot of the Reflect object is the intrinsic object %ObjectPrototype% (19.1.3).
The Reflect object is not a function object. It does not have a [[Construct]] internal method; it is not possible to use
the Reflect object as a constructor with the new operator. The Reflect object also does not have a [[Call]]
internal method; it is not possible to invoke the Reflect object as a function.
When the apply function is called with arguments target, thisArgument, and argumentsList the following steps are taken:
When the construct function is called with arguments target,
argumentsList, and newTarget the following steps are taken:
The length property of the construct function is 2.
When the defineProperty function is called with arguments target, propertyKey, and attributes the following steps are taken:
When the deleteProperty function is called with arguments target and propertyKey, the following steps are taken:
When the enumerate function is called with argument target the following
steps are taken:
When the get function is called with arguments target, propertyKey, and receiver the following steps are taken:
The length property of the get function is 2.
When the getOwnPropertyDescriptor function is called with arguments target and propertyKey, the following steps are taken:
When the getPrototypeOf function is called with argument target the
following steps are taken:
When the has function is called with arguments target and propertyKey, the following steps are taken:
When the isExtensible function is called with argument target the following
steps are taken:
When the ownKeys function is called with argument target the following steps
are taken:
When the preventExtensions function is called with argument target, the
following steps are taken:
When the set function is called with arguments target, V, propertyKey, and receiver the following steps are taken:
The length property of the set function is 3.
When the setPrototypeOf function is called with arguments target and propertyKey, the following steps are taken:
The Proxy constructor is the %Proxy% intrinsic object and the initial value of the Proxy property of the
global object. When called as a constructor it creates and initializes a new proxy exotic object. Proxy is
not intended to be called as a function and will throw an exception when called in that manner.
When Proxy is called with arguments target and handler performs
the following steps:
The value of the [[Prototype]] internal slot of the
Proxy constructor is the intrinsic object %FunctionPrototype% (19.2.3).
The Proxy constructor does not have a prototype property because proxy exotic objects do not
have a [[Prototype]] internal slot that requires
initialization.
Besides the length property (whose value is 2), the Proxy constructor has the
following properties:
The Proxy.revocable function is used to create a revocable Proxy object. When
Proxy.revocable is called with arguments target and handler the following steps are
taken:
"proxy",
p)."revoke",
revoker).A Proxy revocation function is an anonymous function that has the ability to invalidate a specific Proxy object.
Each Proxy revocation function has a [[RevocableProxy]] internal slot.
When a Proxy revocation function, F, is called the following steps are taken:
A Module Namespace Object is a module namespace exotic object that provides runtime property-based access to a module's exported bindings. There is no constructor function for Module Namespace Objects. Instead, such an object is created for each module that is imported by an ImportDeclaration that includes a NameSpaceImport (See 15.2.2).
In addition to the properties specified in 9.4.6 each Module Namespace Object has the own following properties:
The initial value of the @@toStringTag property is the String value "Module".
This property has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }.
When the @@iterator method is called with no arguments, the following steps are taken:
The value of the name property of this function is "[Symbol.iterator]".