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?
u
m
/
A
The WeakRef
extends
clause of a class definition. Subclass WeakRef
behaviour must include a super
call to the WeakRef
WeakRef.prototype
built-in methods.
When the WeakRef
function is called with argument target, the following steps are taken:
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]]:
The following steps are taken:
If the
target = { foo: function() {} };
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.
When the FinalizationRegistry
function is called with argument cleanupCallback, the following steps are taken:
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
The following steps are taken:
Based on the algorithms and definitions in this specification, cell.[[HeldValue]] is
The following steps are taken:
The initial value of the
This property has the attributes { [[Writable]]: