从TypeScript的角度来看
我想知道有什么方法可以销毁TypeScript中的静态变量,静态数组吗?
我知道我们可以将其设置为null,但为了节省内存而希望销毁。
这个问题可能有点愚蠢,但需要帮助,因为在我的项目中,我大量使用了静态变量和静态数组。
答案 0 :(得分:0)
通常,当删除对对象的引用时(假设没有其他人在使用它)。垃圾收集器将释放内存。
针对此问题,基本上有2种解决方案:使用函数范围或手动取消引用。
答案 1 :(得分:0)
我将引用这个
o4 = null;`
// 'o4' has zero references to it.
// It can be garbage collected."
将其设置为“ null”意味着您将对象阵列或为GC准备就绪的所有对象准备就绪,并且GC会将其清除出内存。
因此,将其设置为null会将其清除出内存。
答案 2 :(得分:0)
要销毁还是设置为null
?
如果您使用delete
关键字,它将删除属性本身。
let obj = {a:1, b:2}
delete obj.a
console.log(obj)
// {b:2}
如果您要为属性分配null
,则会删除对对象的引用。
注意:但是,如果存在对该对象的其他引用,它将不会释放内存。
let obj = {a:1, b:2}
obj.a = null
console.log(obj)
// {a:null, b:2}
据我所知,不能保证在浏览器中触发垃圾收集器。 这是reference。