くだらない質問かもしれませんが。( 入門書読め と怒られそうなので... )
JavaScript というよりWSHを利用したJScriptというのでしょうか。
それのサンプルで意外と
JavaScript
1// Prototype1プロトタイプがあるとして... 2var obj = new Prototype1(); 3... // 何らかの処理 4obj = null; // <- これ
のようなコードを見かけます。
C++とかのクラスとは違うけどPrototype1というプロトタイプからobjインスタンスを生成して...
までは理解できるのですが、
obj = null; の行は必要なのでしょうか?
一応C++でも
C++
1// Class1クラスがあるとして 2Class1 obj = new Class1(); 3... // 何らかの処理 4delete obj; 5obj = NULL;
のようにそれ以降の処理で間違って使わないようにNULLを入れて明示しているだけの場合があります。
これのような状態でしょうか?
それともC++だとdelete obj; の行に相当するのでしょうか?
JavaScriptの入門書やサイトではJavaScriptの使い方だけで「JavaScript クラス 作成」とかでやっと出てきました。
でも、今回の質問の内容については何も書かれていません。
( もしかして、私の調べ方が悪い? )
強いて言えば、C++でいう
C++
1... 2delete obj; // <- ① 3obj = NULL; // <- ②
のどれなのでしょうか?
つまり、deleteみたいに「無いとメモリリーク等のような不具合を出しやすい」ために obj = null; としているのか、
「以降、これはnullなので使わないでください」のような明示なのか。
もし、メモリリークじゃないにしても、そういう不具合を出しやすいなら付けるべきだし、単なる明示ならなくてもいいはずです。
(自分で管理するなら。)

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。