質問: new Hoge(); } } ```
回答: JavaScriptの変数のスコープは関数単位です。`var`に関しては関数内のどこに記述しても意味は同じです。ですので残りは`i = 0`がいつ実行されるかの違いでしかなく、for前・for内のどちらに記述するかは好みで判断してください。 JavaScriptの配列は特殊です。仕様上、配列のインデックスは数値ではなく文字列なので例えば`hoge["abc"]`とすることも可能です。 その上で、Array.pushは複数の引数を受け配列に追加する関数ですので、1引数に限定するのであれば`hoge[index]`とインデックスアクセスの方が高速化されるのかも?と考えることはできます。 と答えはしましたが質問2に関してはメリットはよくわかりません。