如何删除对象并捕获对象删除事件?

问题描述 投票:0回答:1

我正在尝试做两件事:

  1. 删除一个对象,无论是 const 还是 let - 在 Node.js 中执行此操作的正确方法
  2. 捕获全局范围内cInst或dInst对象的删除或赋值null或undefined。我不想将 global 或 globalThis 对象包装在对象或闭包对象中来完成此操作。

有办法吗?

'use strict';

function TestBase() {};
let dInst = TestBase();
delete dInst; // fails with use strict
dInst = undefined // works
const cInst = TestBase();
delete cInst; // works without use strict
'use strict';

const cInst = TestBase();
delete cInst; // fails without use strict
javascript node.js object global
1个回答
0
投票
  1. 无法显式删除对象,当所有引用消失时,垃圾收集器会自动删除对象。如果对对象的唯一引用是单个变量,只需重新分配该变量即可将其删除;如果它是局部变量,从函数返回将导致它被删除。

  2. 请参阅最终注册,了解如何注册回调以在 GC 删除对象时收到通知的文档。

© www.soinside.com 2019 - 2024. All rights reserved.