In actionscript you would get an error if you tried to call a method of an object which did not exist and I am guessing JS is the same. function destroy(): void{ this._apple.destroy() //error, you cannot call destroy() because this._apple is null or undefined}So what I end up doing was this which worked for a decade: function destroy(): void{ if (this._apple != null) { this._apple.removeEventsBlah... this._apple.destroy(); this._apple = null; } }But this feels primitive. When you have like 12 class members, and you got to check if they are null. Apart from that, I read this is not accurate for JS? I should use typeof? So if typeof variable === "undefined" Basically, how do you correctly destroy objects? Is it merely enough in JS just to null it.... this._apple = null. I am not sure how stuff works without a virtual machine doing garbage collection where it is important to remove all listeners/references while I am struggling to figure out what is null in relation to undefined.