Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

FinalizationRegistry.prototype.register()

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨April 2021⁩.

* Some parts of this feature may have varying levels of support.

Die register()-Methode von FinalizationRegistry Instanzen registriert einen Wert bei diesem FinalizationRegistry, sodass, wenn der Wert durch die Müllabfuhr gesammelt wird, der Callback des Registriers möglicherweise aufgerufen wird.

Syntax

js
register(target, heldValue)
register(target, heldValue, unregisterToken)

Parameter

target

Der zu registrierende Zielwert.

heldValue

Der Wert, der dem Finalizer für dieses target übergeben werden soll. Dies kann nicht das target selbst sein, kann jedoch alles andere sein, einschließlich Funktionen und primitiver Werte.

unregisterToken Optional

Ein Token, das später mit der unregister-Methode verwendet werden kann, um den Zielwert zu deregistrieren. Wenn angegeben (und nicht undefined), muss es sich um ein Objekt oder ein nicht registriertes Symbol handeln. Wenn nicht angegeben, kann das Ziel nicht deregistriert werden.

Rückgabewert

Keiner (undefined).

Ausnahmen

TypeError

Wird in einem der folgenden Fälle ausgelöst:

Beschreibung

Sehen Sie sich die Abschnitte Wo möglich vermeiden und Anmerkungen zu Aufräum-Callbacks auf der FinalizationRegistry-Seite für wichtige Hinweise an.

Beispiele

Verwendung von register

Das folgende Beispiel registriert den Wert, auf den von target verwiesen wird, übergibt den gehaltenen Wert "some value" und übergibt das Ziel selbst als Deregistrierungs-Token:

js
registry.register(target, "some value", target);

Das folgende Beispiel registriert den Wert, auf den von target verwiesen wird, übergibt ein anderes Objekt als gehaltenen Wert und übergibt kein Deregistrierungs-Token (was bedeutet, dass target nicht deregistriert werden kann):

js
registry.register(target, { useful: "info about target" });

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-finalization-registry.prototype.register

Browser-Kompatibilität

Siehe auch