Абстрактная операция CleanupFinalizationRegistry (Очистка реестра финализации) принимает аргумент finalizationRegistry (FinalizationRegistry). При вызове он выполняет следующие шаги:
1. Утверждено: finalizationRegistry имеет внутренние слоты [[Cells]] и [[CleanupCallback]]. 2. Пусть обратный вызов callback будет finalizationRegistry.[[CleanupCallback]]. 3. Пока finalizationRegistry.[[Cells]] содержит ячейку cell записи Record, такую что cell.[[WeakRefTarget]] является пустой - empty, реализация может выполнить следующие шаги: a. Выберите любую такую ячейку cell. b. Удалить ячейку cell из finalizationRegistry.[[Cells]]. c. Выполнить ? HostCallJobCallback(callback, undefined, « cell.[[HeldValue]] »). 4. Вернуть NormalCompletion(undefined).
Информационные ссылки
Стандарт ECMAScript — Раздел «9.12 CleanupFinalizationRegistry ( finalizationRegistry )» — https://tc39.es/ecma262/#sec-cleanup-finalization-registry