私はkey-value
のペアがたくさんある大きなオブジェクトを持っています(dictionary
など)。何かが発生した場合、object
からkey-value
を削除します。私はdelete performance issueを意識しており、未使用の鍵をundefined
/null
に設定するのは良い方法だと思われますが、私はまだGC
が心配です。 object
をundefined
またはnull
に設定できますが、キー(property
)はまだそこに立っており、memory
を保持しています。私がdelete
キーを押すと消えるので、GC
はfree
キーのmemory
になります。だから、キーの真の解決策を見つけることは私にとっては紛らわしいです。key-value
コレクションobject
。たぶんいくつかの提案や参考資料ですか?オブジェクトからプロパティを削除する真の方法(delete vs null vs undefined)
例:
var dic = {};
dic.a = 1234;
dic.b = "hello";
dic.c = "!#$";
delete dic.a; // { b: "hello", c: "!#$" }
dic.b = undefined; // { b: undefined, c: "!#$" }
dic.c = null; // { b: undefined, c: null }
を使用することを検討して、それだけで財産がその特定の値になる可能性が削除されません。今ではプロパティ定義のチェックをヌル/未定義のチェックと混在させています。 – MinusFour
@MinusFourええ、それで私はGCについて心配しています。私は財産をガベージコレクションして自由にしたい。 – MFatihMAR
プロパティの削除にはどのようなパフォーマンスの問題がありますか?プロパティを離れるときに実行しているメモリの問題は何ですか? – Matt