var, let, constの使い分けについて
ES2015から変数宣言にlet/constが使えるようになりました。実際のところ、var/let/constをどのように使い分ければ良いのか、そのベストプラクティスを調査&まとめました。
ES2015から変数宣言にlet/constが使えるようになりました。実際のところ、var/let/constをどのように使い分ければ良いのか、そのベストプラクティスを調査&まとめました。
即時関数は、名前を持たない関数をその場で実行しているに過ぎないため、本質的には通常の名前付き関数と同じです。そのため、「即時関数を使わなければ実現できない処理」といったものはあり得ません。それらは即時関数でなくとも通常の名前付き関数で処理することは可能です。
しかし即時関数は名前を持たないため、現在のスコープを汚染せずに新しいスコープを作成することができます。このことが通常の名前付き関数との違いであり、即時関数ならではの用途を生み出します。
本エントリは、JavaScript全体に関わるコーディング規約ではなく、あくまでも「命名規則」に絞った内容になっています。自分用のまとめ色が強いエントリになっていますので、ここに書いたことが正解というわけではありませんが、少しでも皆さんの参考になれば幸いです。皆さんも色々な情報を参考にしながら、一番しっくりくるものを採用していくのが良いと思います。
配列(またはコレクション)をループで処理する際、ループ中にこれらの要素の数が変わらないのであれば、要素の数(配列の長さ)をキャッシュさせた方が良いでしょう。特に、ループの対象がHTMLCollectionである場合は重要度が高いです。
実行環境(ブラウザ)や、JavaScriptフレームワークの使用により、これらのメリットが享受できない場合もありますが、デメリットは無いはずですので、ループの最適化が適用できるのであれば積極的に適用した方が良いと思います。
JavaScriptには、他の言語ではあまり聞かない(あるいは存在しない)「変数の巻き上げ(hoisting)」という概念があります。これは(たぶん)JavaScript特有のもので、かつ重要なポイントです。ここでは、この「変数の巻き上げ」について解説していきます。
JavaScriptコーディングパターンの1つ「単独varパターン」についてのまとめです。
単独varパターンはJavaScriptのコーディングパターンの中でも最も実践しやすいパターンですので、是非取り入れてみることをお勧めします。
ECMAScript5から実装されたstrictモード(厳格モード)についての、メリット、デメリット、従来のモードとの違いや互換性、使い方、ブラウザの対応状況などを踏まえ、結果として採用すべきか否かを調査しました。