JavaScript のクロージャは、積極的に開発される機能であると同時に、JS はクロージャを使用していくつかの問題をより適切に解決できる機能でもあります。特定の問題、JS の問題があり、問題をかろうじて解決するにはクロージャを使用する必要がありました。
前者についてはここでは説明しません。JS クロージャーが問題をより良く解決できる場合は、もちろんクロージャーを使用する方が良いでしょう。
私が議論しているのは後者です。JS 自体の制限のため、「変数は 1 回だけ初期化される」という要件など、クロージャで解決する必要があります。
従来の言語は次のように解決されます:
JavaScript は通常、この問題を (クロージャを使用して) 解決します。
しかし、私はこの方法の方が好きです (クロージャーを排除します):
後者の方がスケーラビリティが優れているため、変数に対して異なる演算を実装する必要がある場合、後者は別の関数 (つまり、単純な線形展開) を定義するだけで済みますが、前者 (クロージャ) は完全に書き直す必要があります。 (これが、リファクタリングという言葉をよく聞く理由です)。