Array
とArray
の項目を削除するには、delete
というキーワードを使用することができます。ただし、delete
は変数を削除しません。プロパティを「削除する」正しい方法ですか?
var b = "some stuff";
delete b;
console.log(b); // "some stuff"
b
で使用されているメモリを「解放」する正しい方法はありますか?ちょうどb = null;
をやってやっているのですか?
Array
とArray
の項目を削除するには、delete
というキーワードを使用することができます。ただし、delete
は変数を削除しません。プロパティを「削除する」正しい方法ですか?
var b = "some stuff";
delete b;
console.log(b); // "some stuff"
b
で使用されているメモリを「解放」する正しい方法はありますか?ちょうどb = null;
をやってやっているのですか?
この質問の可能な重複about unsetting variables in Javascriptいくつかの優れた回答があります。短い答え - null
はおそらく問題ありません。
Javascriptでは、自分で実際にメモリを解放することはできません。オブジェクトが使用するメモリへの参照をすべて削除するだけです.JSエンジンのガベージコレクタはそれを回復します。変数/プロパティをnullに設定するとよいでしょう。
「削除」の使用に関しては、http://perfectionkills.com/understanding-delete/よりも理解しやすいリソースが見つかりませんでした。
あなたが知らない場合:関数スコープで 'b'が宣言されていれば、それをまったく心配する必要はありません。実行が関数スコープを終了すると、他の参照がない場合は、期待どおりに自由に機能します。 –
@ JamesClarkしかし、 'b'が大量のデータをロードしている場合には、別のデータをロードする前に解放する必要があります – puk