定数についてこのでもまた「数」という語が出てきましたが、JavaScript の定数はもちろん数値だけではありません。 変数がデータを入れる箱であるとすれば、定数はその中身になりうるようなものと考えればわかりやすいと思います。定数には次の3種類あります。
文字列定数:"abc"、"こんにちは"、"123" など、ダブルクオーテーション(" ")またはシングルクオーテーション(' ')で囲まれた語のことで、 どんな文字でも使用できます。(もちろんウェブページで非推奨とされている半角カタカナや特殊記号は使わないに越したことはありません。)
ブール値:true と false です。これらはダブルクオーテーション(" ")やシングルクオーテーション(' ')で囲む必要がありません。 例:flag = false;
数値:数値の場合もダブルクオーテーション(" ")やシングルクオーテーション(' ')は不要です。例:num = 100; 仮にこれをダブルクオーテーション(" ")やシングルクオーテーション(' ')で囲んでしまうと、数値ではなく文字列として扱われます。 その差は次の例で明らかです。
num = 100 + 200; // num の値は 300
num = "100" + "200"; // num の値は "100200"
JavaScript にはダブルクオーテーション(" ")とシングルクオーテーション(' ')の機能上の違いはなく、 どちらも文字列定数を表すために使用されます。
msg = "ようこそ";
msg = 'ようこそ';
注意しなければならないのは、引用符の中で更に引用符が必要になるケースです。
上の例では onClick 属性の値をダブルクオーテーション(" ")で囲んでいますが、 その中の alert() メソッドの引数が文字列定数を必要とするため、それをシングルクオーテーション(' ')で囲んでいます。 そうしないと(両方とも同じ引用符にすると)
これではブラウザのスクリプトエンジンは onClick="alert(" で終了しているものと解釈し、エラーになってしまうのです。 初心者が陥りやすい初歩的ミスです。それを回避するためには、ダブルクオーテーション(" ")の中では引用符をシングルクオーテーション(' ')に、 逆にシングルクオーテーション(' ')の中では引用符をダブルクオーテーション(" ")にして区別して下さい。
では次の用法はどうでしょうか?
これは、不可です。確かにダブルクオーテーション(" ")の中にシングルクオーテーション(' ')を、 シングルクオーテーション(' ')の中にダブルクオーテーション(" ")を使っていますが、 ブラウザのスクリプトエンジンは onClick="alert('Welcome to " で終了しているものと解釈するからです。