使用TypeScript销毁静态变量,静态数组

时间:2018-09-26 08:13:43

标签: angular typescript

从TypeScript的角度来看
我想知道有什么方法可以销毁TypeScript中的静态变量,静态数组吗?
我知道我们可以将其设置为null,但为了节省内存而希望销毁。
这个问题可能有点愚蠢,但需要帮助,因为在我的项目中,我大量使用了静态变量和静态数组。

3 个答案:

答案 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