質問: 通常、JavaScriptの変数初期化はどれで行えばいいですか?(初心者です。) 「var 変数名;」 「var 変数名 null;」 「var 変数名 '';」
回答: >通常、JavaScriptの変数初期化はどれで行えばいいですか?(初心者です。) >「var 変数名;」 >「var 変数名 = null;」 >「var 変数名 = '';」 >「var 変数名 = "";」 >「var 変数名 = undefined;」 プログラムの処理によってケースバイケースです。 「var 変数名 = '';」と「var 変数名 = "";」は等価です(なので ここの説明では「var 変数名 = '';」を使います)。 例えばループで文字列を連結する場合は「var 変数名 = '';」を使うでしょう。 通常、「var 変数名 = undefined;」は使いません(「var 変数名;」と等価ですし、nullなら書きやすくifでの判定もラク、とは言ってもケースバイケースで「var 変数名 = '';」のほうが良い場合もあります)。 ちなみに、「var」は非推奨で、「let」が推奨です、定数は「const」で定義できます。 ただし、プロを目指すなら古い記述法が強制されます(古いIEに対応するため)。 >----- >var a = 'あああ'; >var a; >alert(a); >----- >では、初期化されずに「あああ」と表示されます。 varには「巻き上げ」と言う意味不明な仕様があります。 JavaScript の var 文 - MDN - Mozilla >var の巻き上げ >変数の宣言 (および一般的な宣言) はコードを実行する前に処理されますので、変数はコード内のどこで宣言しても、コードの先頭で宣言したものと等価になります。また、変数を宣言する前に変数を使用することもできます。この動作は、変数の宣言が関数やグローバルのコードの先頭に移動したように見えるため、"巻き上げ (hoisting)" と呼ばれます。 > >bla = 2; >var bla; > >// 次のように見なされます。 > >var bla; >bla = 2; (例外もあるでしょうが)WebではHTML(+CSS)が主眼であって、基本的にJavaScriptは補助です、つまり いくらJavaScriptのプログラミング能力が有っても「実用的なWebページ」が作れなければ意味がありません(下記参照)。 本当に自分の興味のあるコンテンツで(勉強のために)実用的なWebページを作ってネットで公開してみると良いでしょう。 実用的なWebページ