我想知道当在数组中启动某个类的实例时,如何完全擦除它的实例。
我已经看到了有关如何删除Javascript实例的一些答案,这个问题似乎与我要寻找的内容非常接近:How to destroy the instance of a JavaScript class completely?,但是我不确定是否理解它,或者如果与我的问题有关。如果可能的话,我希望您能得到更详细的答案(我对Javascript / Typescript有点陌生)。
举一个我的意思的例子,我有一个像这样的类:
class Person {
private _id: number;
private _name: string;
private _surname: string;
public has_dog: boolean;
constructor(ID:number, name:string, surname:string, has_dog:boolean) {
this._id = ID;
this._name = name;
this.surname = surname;
this.has_dog = has_dog;
}
我正在创建这样的新实例:
let my_array: Person[];
my_array.push(new Person(123,'John', 'Smith', true));
现在,在某些时候,我可能希望删除其中的一个Person
实例,但是我不确定是否通过使用my_array.pop()
(如果要删除最后一个人),我会完全从内存中删除该实例,或者该实例将漂浮在某个地方。
如果我一切都很好,只要在代码的其他任何地方都没有使用该变量(实例),则垃圾收集器应该处理它,但是我不确定这是否正确,或者我是否可以使某些实例“处于活动状态”时会出现一些内存问题。
总而言之,这是从数组中删除类的那些实例的最合适,最有效的方法吗?
谢谢