関数スコープは20年間私にとって完璧でした。今私はどこでも、var
の代わりにlet
とconst
を使うべきだと私は読んでいます。これは主に新しい機能だからだと思います。ブロックスコープを好む理由は何ですか?なぜ関数スコープの代わりにブロックスコープを使用する必要がありますか?
0
A
答えて
6
const
は、固定バインディングであるという明らかな利点があります。 let
には一時的な不感帯があり、同じスコープ内で識別子を再宣言することは禁じられているので、特定の間違いを防ぐのに役立ちます。
ブロックスコープが不要な場合は、var
を引き続き使用しても問題ありません。
関連する問題
- 1. com.google.appengine.repackaged *の代わりに何を使用する必要がありますか?
- 2. scala.concurrent.Futureの代わりにakka.http.scaladsl.util.FastFutureを使用する必要がありますか?
- 3. AddPortの代わりに何を使用する必要がありますか?
- 4. TFilenameの代わりにStringを使用する必要がありますか?
- 5. Android:いつ/なぜフラグメントの代わりにFrameLayoutを使用する必要がありますか?
- 6. なぜ分離スコープを使用する必要がありますか?
- 7. 'success'関数を使用する代わりにjQuery.ajaxのresponseTextを返す必要があります
- 8. なぜオーバーライドequals()メソッドのreturn文は、代わりの&&と||を使用する必要がありますか?
- 9. mod_wsgiデーモンモードコードの代わりに "site"を使用する必要があります
- 10. スコープで失われた関数を呼び出す必要があります
- 11. なぜ私はリベースのmasterの代わりにorigin/masterを使用する必要があるのですか
- 12. なぜvalue.lengthを使用する必要がありますか?
- 13. なぜstopPropagation()を使用する必要がありますか?
- 14. ディメンションを処理する代わりにプロアクティブなキャッシュを使用する必要がありますか?
- 15. スタティックセルの代わりにカスタムテーブルビューセルをプロトタイプセルにする必要がありますか?
- 16. なぜ使用する必要がありますか?
- 17. php関数openssl_verify()の代わりにColdfusionがありますか?
- 18. xhr.overrideMimeType()関数の代わりにクロスブラウザーがありますか?
- 19. hasOwnProperty()の代わりにin演算子を使用する必要がある場合はありますか?
- 20. オブザーバー:関数に渡される値を使用する必要がありますか、代わりにthis.valueを安全に使用できますか?
- 21. なぜ複数のコンストラクタを使用する必要がありますか?
- 22. C++なぜ拡張クラス内の関数のスコープを指定する必要がありますか?
- 23. なぜコンポーネントデータを関数にする必要がありますか?
- 24. なぜ、どのような場合には、spring mvcではシングルサーブレットの代わりに複数のサーブレットを使用する必要がありますか?
- 25. NSFetchRequestの代わりに常にNSAsynchronousFetchRequestを使用する必要がありますか?
- 26. アンドロイドスタジオのDeviceListAdapterの代わりにどのメソッドを使用する必要がありますか
- 27. なぜ変数をリセットする必要がありますか?
- 28. なぜメソッド関数でsetIntervalにバインドする必要がありますか?
- 29. なぜ関数内にC++コードを含める必要がありますか?
- 30. AWSの代わりに通常のサーバーを使用する必要がありますか?
JSは、他のすべての言語(少なくとも有名なもの)が尊重したブロックスコープを尊重しないという理由で、長い間批判されていたためです。今やJSは多くのギャップを埋めることによってこれらの言語に向かっています。 –
あなたがそうする正当な理由がない限り、あなたはしないでください。 * var *を引き続き使用する理由の1つは、後方互換性があることです。 * const *と* let *はあなたのコードを実行する環境を制限することなく、*厳密なモード*(下位互換性もあります)と同様の利点を得ることができます。 – RobG
ここでは、letとconstを使用する理由を読むことができます。「可変ホイスト」についてです。 http://stackoverflow.com/questions/3725546/variable-hoisting –