browser.js |
|
0 |
constructor.js |
---
esid: sec-weak-ref-constructor
description: >
The WeakRef constructor is the %WeakRef% intrinsic object and the initial
value of the WeakRef property of the global object.
features: [WeakRef]
--- |
536 |
instance-extensible.js |
---
esid: sec-weak-ref-target
description: Instances of WeakRef are extensible
info: |
WeakRef( target )
...
3. Let weakRef be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakRefPrototype%", « [[Target]] »).
4. Perfom ! KeepDuringJob(target).
5. Set weakRef.[[Target]] to target.
6. Return weakRef.
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
...
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
ObjectCreate ( proto [ , internalSlotsList ] )
4. Set obj.[[Prototype]] to proto.
5. Set obj.[[Extensible]] to true.
6. Return obj.
features: [WeakRef, Reflect]
--- |
1056 |
is-a-constructor.js |
---
esid: sec-ecmascript-standard-built-in-objects
description: >
The WeakRef constructor implements [[Construct]]
info: |
IsConstructor ( argument )
The abstract operation IsConstructor takes argument argument (an ECMAScript language value).
It determines if argument is a function object with a [[Construct]] internal method.
It performs the following steps when called:
If Type(argument) is not Object, return false.
If argument has a [[Construct]] internal method, return true.
Return false.
includes: [isConstructor.js]
features: [Reflect.construct, WeakRef]
--- |
948 |
length.js |
---
esid: sec-weak-ref-target
description: WeakRef.length property descriptor
info: |
WeakRef ( target )
17 ECMAScript Standard Built-in Objects
Every built-in function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this
value is equal to the largest number of named arguments shown in the
subclause headings for the function description. Optional parameters
(which are indicated with brackets: [ ]) or rest parameters (which
are shown using the form «...name») are not included in the default
argument count.
Unless otherwise specified, the length property of a built-in
function object has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
features: [WeakRef]
--- |
1187 |
name.js |
---
esid: sec-weak-ref-target
description: WeakRef.name property descriptor
info: |
WeakRef ( value )
17 ECMAScript Standard Built-in Objects
Every built-in function object, including constructors, that is not
identified as an anonymous function has a name property whose value
is a String. Unless otherwise specified, this value is the name that
is given to the function in this specification. For functions that
are specified as properties of objects, the name value is the
property name string used to access the function. [...]
Unless otherwise specified, the name property of a built-in function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
features: [WeakRef]
--- |
1162 |
newtarget-prototype-is-not-object.js |
---
esid: sec-weak-ref-target
description: >
[[Prototype]] defaults to %WeakRefPrototype% if NewTarget.prototype is not an object.
info: |
WeakRef( target )
...
3. Let weakRef be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakRefPrototype%", « [[Target]] »).
4. Perfom ! KeepDuringJob(target).
5. Set weakRef.[[Target]] to target.
6. Return weakRef.
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
...
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
3. Let proto be ? Get(constructor, 'prototype').
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [WeakRef, Reflect.construct, Symbol]
--- |
2321 |
prop-desc.js |
---
esid: sec-weak-ref-constructor
description: >
Property descriptor of WeakRef
info: |
17 ECMAScript Standard Built-in Objects:
Every other data property described in clauses 18 through 26 and in Annex B.2
has the attributes { [[Writable]]: true, [[Enumerable]]: false,
[[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
features: [WeakRef]
--- |
738 |
proto-from-ctor-realm.js |
---
esid: sec-weak-ref-target
description: Default [[Prototype]] value derived from realm of the newTarget
info: |
WeakRef( target )
...
3. Let weakRef be ? OrdinaryCreateFromConstructor(NewTarget, '%WeakRefPrototype%', « [[Target]] »).
4. Perfom ! KeepDuringJob(target).
5. Set weakRef.[[Target]] to target.
6. Return weakRef.
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
...
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
3. Let proto be ? Get(constructor, 'prototype').
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [WeakRef, cross-realm, Reflect, Symbol]
--- |
2388 |
proto.js |
---
esid: sec-properties-of-the-weak-ref-constructor
description: >
The prototype of WeakRef is Object.prototype
info: |
The value of the [[Prototype]] internal slot of the WeakRef object is the
intrinsic object %FunctionPrototype%.
features: [WeakRef]
--- |
667 |
prototype |
|
|
prototype-from-newtarget-abrupt.js |
---
esid: sec-weak-ref-target
description: >
Return abrupt from getting the NewTarget prototype
info: |
WeakRef ( target )
...
3. Let weakRef be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakRefPrototype%", « [[Target]] »).
4. Perfom ! KeepDuringJob(target).
5. Set weakRef.[[Target]] to target.
6. Return weakRef.
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
...
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
3. Let proto be ? Get(constructor, 'prototype').
features: [WeakRef, Reflect.construct]
--- |
1292 |
prototype-from-newtarget-custom.js |
---
esid: sec-weak-ref-target
description: >
The [[Prototype]] internal slot is computed from NewTarget.
info: |
WeakRef ( target )
...
3. Let weakRef be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakRefPrototype%", « [[Target]] »).
4. Perfom ! KeepDuringJob(target).
5. Set weakRef.[[Target]] to target.
6. Return weakRef.
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
...
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
3. Let proto be ? Get(constructor, 'prototype').
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [WeakRef, Reflect.construct]
--- |
1652 |
prototype-from-newtarget.js |
---
esid: sec-weak-ref-target
description: >
The [[Prototype]] internal slot is computed from NewTarget.
info: |
WeakRef ( target )
...
3. Let weakRef be ? OrdinaryCreateFromConstructor(NewTarget, "%WeakRefPrototype%", « [[Target]] »).
4. Perfom ! KeepDuringJob(target).
5. Set weakRef.[[Target]] to target.
6. Return weakRef.
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
...
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
3. Let proto be ? Get(constructor, 'prototype').
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [WeakRef]
--- |
1257 |
returns-new-object-from-constructor-with-object-target.js |
---
esid: sec-weak-ref-target
description: >
Returns a new ordinary object from the WeakRef constructor when called with an
Object target
info: |
WeakRef ( _target_ )
3. Let _weakRef_ be ? OrdinaryCreateFromConstructor(NewTarget,
"%WeakRefPrototype%"*, « [[WeakRefTarget]] »).
4. Perfom AddToKeptObjects(_target_).
5. Set _weakRef_.[[WeakRefTarget]] to _target_.
6. Return _weakRef_.
features: [WeakRef]
--- |
1176 |
returns-new-object-from-constructor-with-symbol-target.js |
---
esid: sec-weak-ref-target
description: >
Returns a new ordinary object from the WeakRef constructor when called with a
Symbol target
info: |
WeakRef ( _target_ )
3. Let _weakRef_ be ? OrdinaryCreateFromConstructor(NewTarget,
"%WeakRefPrototype%"*, « [[WeakRefTarget]] »).
4. Perfom AddToKeptObjects(_target_).
5. Set _weakRef_.[[WeakRefTarget]] to _target_.
6. Return _weakRef_.
features: [Symbol, WeakRef, symbols-as-weakmap-keys]
--- |
1328 |
shell.js |
---
description: |
Test if a given function is a constructor function.
defines: [isConstructor]
features: [Reflect.construct]
--- |
596 |
throws-when-target-cannot-be-held-weakly.js |
---
esid: sec-weak-ref-target
description: >
Throws a TypeError if target cannot be held weakly
info: |
WeakRef ( _target_ )
2. If CanBeHeldWeakly(_target_) is *false*, throw a *TypeError* exception.
features: [WeakRef]
--- |
1243 |
undefined-newtarget-throws.js |
---
esid: sec-weak-ref-target
description: >
Throws a TypeError if NewTarget is undefined.
info: |
WeakRef ( target )
1. If NewTarget is undefined, throw a TypeError exception.
2. If Type(target) is not Object, throw a TypeError exception.
...
features: [WeakRef]
--- |
725 |