コメントありがとうございます。 サービス終了した今なら、安く中古が手に入りそ…
今更ながらJavaScriptのdelete演算子の話
メモリを解放するのに良くこの様なコードを見かけます
// × hoge = null; // ○ delete hoge;
正解ですw
この延長で次の様なコードを書いたらメモリ解放されなかった
var hoge = "a"; // stringが出力される console.log(typeof hoge); delete hoge; // undefineではなくstringが出力される console.log(typeof hoge); // 普通にaが出力される alert(hoge);
どうやら、varで宣言した変数では使用できないらしい
(オブジェクトプロパティのみ)
ついでに言うと、JavaScriptのオブジェクトは参照渡しなので
var master = ['a', 'b', 'c']; var temp = master; delete temp[1]; // 'a', 'c'が出力される(納得) console.log(temp); // 'a', 'c'が出力される(参照なので) console.log(master);
と言う事になるのでご注意を
検索
コメントを残す