質問: "function") { } else { } // その後の処理でもなんだかんだ使ったり ``` ### 自身では 変数に格納せずそのままアクセスして値を取得したほうが、どのプロパティから値を取得しているかがわかりやすい。 (変数に入れると変数名ではオブジェクトのどの階層のプロパティにアクセスしているかまで一見してわからない) でも、こういうのは変数に格納するっていう先入観があるからなぁ・・・と悩ましい状態です。 素朴な疑問で申し訳ありませんが、どなたかご存じの方がおられましたらご教示頂けますと幸いです。 よろしくお願い致します。
回答: 総じて**要件による**です。 > > 変数に入れると変数名ではオブジェクトのどの階層のプロパティにアクセスしているかまで一見してわからない > > > に関しては、必要なパターンもあれば、 必要ないパターンもありますので、やはり要件によります。 例えば、該当のオブジェクトを、 そのプログラム内では**該当の値のみしか使わない**なんて時は、 オブジェクト階層を識別する必要はありません。 ただし、オブジェクトの、他の階層の値を複合して使う必要がある、など、 その多階層に渡って、値が必要になる場合は、 階層を識別できる状態にしておいた方が、いいでしょう。 > > ・変数に格納したほうが良い? > > > 上記の通りです。 > > ・変数に格納したほうが良い(悪い)場合の理由(速度が速いとか?) > > > 特に変わらないパターンの方が多いです。 ただし、**変数生成を、何万個とかする場合**、循環参照など、メモリから解放できないような構文(メモリリーク)になっていた場合は、高確率で速度に影響します。 それ以外は、運用面上、要件上でどちらがいいか、でいいと思います。 > > ・その他 メリット/デメリット が知りたいです。 > > > 上記の中で、回答になっているとは思います。 ただ、メリット・デメリットよりは、**要件によって**適した構文を組むことを意識するのが、エンジニアとして大事かと思います。