Name Description Size
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