Name Description Size Coverage
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] --- 440 -
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] --- 960 -
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] --- 852 -
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] --- 1091 -
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] --- 1066 -
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] --- 2225 -
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] --- 642 -
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] --- 2292 -
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] --- 571 -
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] --- 1196 -
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] --- 1556 -
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] --- 1161 -
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] --- 1080 -
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] --- 1193 -
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] --- 1147 -
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] --- 629 -