11
JavaScriptでのオブジェクトの削除
私はJavaScriptのdelete演算子と少し混乱しています。次のコードを見てください。 var obj = { helloText: "Hello World!" }; var foo = obj; delete obj; このコードが実行された後、objisですがnull、fooそれでもとまったく同じようにオブジェクトを参照しますobj。このオブジェクトは、foo指し示したオブジェクトと同じだと思います。 これは私を混乱させます。なぜなら、書き込みdelete objでobjは、変数だけでなく、メモリ内を指しているオブジェクトも削除されると思っていたからですobj。 JavaScriptののガベージコレクタは、私がオブジェクトを指し、他の変数を持っていなかった場合は、それがそうすることを、保持/解放的に取り組んでいるためですでしょうメモリから削除されますか? (ちなみに、私のテストはSafari 4で行われました。)