我只是想知道是否一直忠实地遵循tslint是好的,因为它建议我在不重新分配时使用const而不是let(这是有意义的)。虽然我听说过另一个开发人员告诉我使用const是不好的,因为它无法收集垃圾以清除内存。
我希望更好地了解在我的对象中使用const的危险。我在下面的例子中担心它是否在我的Angular App中导致内存泄漏。
E.g。在Angular应用程序中:
import 'rxjs/add/operator/map';
class MyComponentObject {
constructor(private activatedRoute: ActivatedRoute) {}
ngOnInit() {
this.queryParams$ = this.activatedRoute
.queryParamMap
.map(params => {
// is this bad?
const something = params.get('something') || null;
})
}
}
const仍会继续销毁对象(ngDestory)。在这个类的每次初始化时,它会以某种方式在内存中反复建立吗?
所以一般来说这样做可以记住这个吗?
答案 0 :(得分:2)
const
只是意味着您无法重新分配变量。它与垃圾收集无关。
在您的代码段中,当ngOnInit
函数终止时,该变量将被销毁。到那时它所具有的价值将有资格进行垃圾收集(除非它在其他地方被引用)。