new Operatorsuper Keyword? : ), )if Statementdo-while Statementwhile Statementfor Statementfor-in, for-of, and for-await-of Statementscontinue Statementbreak Statementreturn Statementwith Statementswitch Statementthrow Statementtry Statementdebugger Statement?um/p1-9A
The WeakRef
extends clause of a class definition. Subclass WeakRef behaviour must include a super call to the WeakRef WeakRef.prototype built-in methods.
This function performs the following steps when called:
The
The initial value of WeakRef.prototype is the
This property has the attributes { [[Writable]]:
The WeakRef prototype object:
The initial value of WeakRef.prototype.constructor is
This property has the attributes { [[Writable]]:
This method performs the following steps when called:
If the
let target = { foo() {} };
let weakRef = new WeakRef(target);
// ... later ...
if (weakRef.deref()) {
weakRef.deref().foo();
}
In the above example, if the first deref does not evaluate to
The initial value of the
This property has the attributes { [[Writable]]:
The abstract operation WeakRefDeref takes argument weakRef (a
This abstract operation is defined separately from WeakRef.prototype.deref strictly to make it possible to succinctly define liveness.
A
The FinalizationRegistry
extends clause of a class definition. Subclass FinalizationRegistry behaviour must include a super call to the FinalizationRegistry FinalizationRegistry.prototype built-in methods.
This function performs the following steps when called:
The
The initial value of FinalizationRegistry.prototype is the
This property has the attributes { [[Writable]]:
The FinalizationRegistry prototype object:
The initial value of FinalizationRegistry.prototype.constructor is
This method performs the following steps when called:
Based on the algorithms and definitions in this specification, cell.[[HeldValue]] is
This method performs the following steps when called:
The initial value of the
This property has the attributes { [[Writable]]: