|
Microsoft® JScript JScript の変数 |
チュートリアル |
Microsoft JScript では、スクリプトで使用する値を格納するために変数が使用されます。変数を使用すると、値を名前で指定して取得したり操作したりできます。変数を効果的に使用すると、コードを閲覧しただけで処理内容がわかるようなスクリプトを作成できます。
変数の宣言は必ずしも必要ではありません。ただし、使用する前に変数を宣言しておくのがよいプログラミング作法とされています。変数の宣言には、var ステートメントを使用します。 var ステートメントを使用することが必須となるのは、関数に対してローカルな変数を宣言する場合だけです。ただし、その他の場合も、変数は使用前に var ステートメントで宣言しておきましょう。
変数を宣言するいくつかの例を次に示します。
var mim = "今日は祝日です。"; // 変数 mim は、文字列型にキャストされます。 // 二重引用符に囲まれた文 (変数 mim に代入された値) は、文字列リテラルです。 var ror = 3; // 変数 ror は、数値型にキャストされます。 var nen = true; // 変数 nen は、ブール型にキャストされます。 var fif = 2.718281828 // 変数 fif は、数値型にキャストされます。
JScript では、大文字と小文字が区別されます。たとえば、変数 myCounter は、変数 MYCounter とは別の変数となります。さらに、次に挙げる規則に従って変数名をつける必要があります。有効な変数名の例を次に示します。
- 先頭文字は、英字 (大文字でも小文字でもかまいません) またはアンダースコア (_) でなくてはなりません。
- 2 文字目以降の文字には、英字、数字、およびアンダースコアを使用できます。
- 予約語を変数名に使用することはできません。
無効な変数名の例を次に示します。
- _pagecount
- Part9
- Number_Items
変数を宣言し、特定の値を代入しないで初期化する場合は、特殊な値 null を代入します。
- 99Balloons // 数字で始まっています。
- Smith&Wesson // アンパサンド (&) は、変数名には使用できません。
何も値を代入しないで変数を宣言することもできます。ただし、Undefined の状態になります。var zaz = null; var notalot = 3 * zaz; // この時点では、notalot は 0 になります。
変数は、値を代入することにより、暗黙のうちに (つまり var を使用しないで) 宣言することもできます。ただし、まったく宣言されていない変数を参照することはできません。参照した場合は、実行時にエラーが発生します。var godot; var waitingFor = 1 * godot; // godot は未定義の状態なので、エラーが発生します。
lel = ""; // 変数 lel は、暗黙のうちに宣言されたことになります。 var aMess = vyv + zez; // vyv および zez は存在しないので、エラーが発生します。
JScript は、型に関する制限の緩い言語です。変数を定義するときに型を指定する必要はなく、また違う型の値を代入し直すこともできます。ただし、現在保持している値の型 (内部処理形式) を意識しなければならない場合があります。通常、数値と文字列を加算すると文字列の結合とみなされます。逆に、文字列を数値として加算する場合は、文字列式を持つ変数の内部処理形式を数値型に変換する必要があります。そのため、明示的に内部処理形式を変換する関数 parseInt() および parseFloat() が用意されています。このコードの実行後は、変数 doWhat には、"数を 1 から 10 までカウントします。" という文字列が格納されます。数値データは、文字列形式に自動変換されました。var theFrom = 1; var theTo = 10; var doWhat = "数を"; doWhat += theFrom + " から " + theTo + " までカウントします。";
このコードの実行後は、変数 nowWhat には、"0110" という文字列が格納されています。文字列データが数値形式に自動変換されることはありません。var nowWhat = 0; nowWhat += 1 + "10"; // この場合、"10" は文字列なので、 // "+=" 演算子は連結演算子となります。
このコードの実行後は、変数 nowThen には整数の 11 が格納されています。var nowThen = 0; nowThen += 1 + parseInt("10"); // この場合、"+=" は加算演算子となります。
© 1997 Microsoft Corporation.