--- title: FinalizationRegistry.prototype.register() slug: Web/JavaScript/Reference/Global_Objects/FinalizationRegistry/register tags: - FinalizationRegistry - JavaScript - Method - Prototype - Reference - メソッド translation_of: Web/JavaScript/Reference/Global_Objects/FinalizationRegistry/register ---
register()
メソッドはオブジェクトを {{jsxref("FinalizationRegistry")}} インスタンスへ登録し、オブジェクトがガベージコレクションで回収された場合、レジストリのコールバックが呼び出されるようになります。
registry.register(target, heldValue, [unregisterToken]);
target
heldValue
target
オブジェクトにすることはできません。unregisterToken
{{optional_inline}}unregister
メソッドと共に使用するトークンです。提供された場合 (かつ undefined
ではない場合)、これはオブジェクトである必要があります。提供されなかった場合は、対象を登録解除することはできません。undefined
です。
重要な注意点については、 {{jsxref("FinalizationRegistry")}} ページの可能な限り避けるとクリーンアップコールバックに関する注意事項の部分を参照してください。
次の例は target
で参照される対象オブジェクトを保持値 "some value"
で登録し、対象オブジェクト自身を登録解除トークンとして渡します。
registry.register(target, "some value", target);
次の例は target
で参照される対象オブジェクトを他のオブジェクトを保持値として登録し、登録解除トークンを渡していません (すなわち target
は登録解除できません)。
registry.register(target, {"useful": "info about target"});
仕様書 |
---|
{{SpecName('WeakRefs', '#sec-finalization-registry.prototype.register', 'FinalizationRegistry.prototype.register')}} |
{{Compat("javascript.builtins.FinalizationRegistry.register")}}