ファイル処理を実装するオブジェクトの内部にあるとします。私は読みやすくするためにコードを書いています。それは難しいことができるコードの最新のJavaScript/ECMAScripteコンパイラは、関数呼び出しから値を返す際に不要な変数代入を最適化しますか?
例がある場合は特に、戻り値の型を指示する複数のネストされた関数呼び出し:
function create() {
var fileHandle = doCreateAction();
return fileHandle;
}
:
function create() {
return doCreateAction();
}
この例では、明確化変数を導入することで、より読みやすいです
理論的には、コンパイラはdoCreateAction()の結果を一時的に(おそらくhiddenM、匿名、一時的な一時変数の中に)格納する必要があるため、2番目のバージョンは同じように動作します。このコードは、名前付き変数に割り当てるときに遅くなりますか?
"名前付き変数に割り当てるときに、このコードの実行速度が低下しますか?"あなた自身でいくつかのベンチマークをやろうとしましたか?オフトピック。私はあなたの関数の名前を変更するほうがいいと思います:)なぜ 'doCreateAction'は' fileHandle'と記述した方が良いのでしょうか?なぜあなたは 'createFileHandle'か何かと呼ばないのですか? –
そのような明らかに明白なケースでは?彼らがそうしなければ、私は本当に大喜びだろう。私はそれが事実であることを知っていますか?いいえ、私はすべての主要なJavaScriptエンジンのオプティマイザ・コードを検証していません(V8では、現在、インタープリタとコンパイラの両方を使用していますが、最近は2つのコンパイラを使用していました)。 –
あなたはこれを知りたいのです...なぜですか? –