JScript のステートメント
更新 : 2007 年 11 月
JScript プログラムは、ステートメントのコレクションです。JScript ステートメントは、自然言語の文章に相当し、単一のタスクを実行する式を組み合わせて構成します。
ステートメントの使用
ステートメントには、1 つ以上の式、キーワード、または演算子 (記号) が含まれます。通常は 1 行に 1 つのステートメントが含まれますが、各ステートメントがセミコロンで区切られている場合は、2 つ以上のステートメントが同じ行に含まれることもあります。また、ほとんどのステートメントは複数行にまたがって使用できます。例外は、次のとおりです。
後置インクリメント演算子と後置デクリメント演算子は、引数と同じ行で使用する必要があります。たとえば、x++ や i-- などです。
continue キーワードと break キーワードは、ラベルと同じ行で使用する必要があります。たとえば、continue label1 や break label2 などです。
return キーワードと throw キーワードは、式と同じ行で使用する必要があります。たとえば、return (x+y) や throw "Error 42" などです。
カスタム属性は、先頭に修飾子が付いていない限り、修飾する宣言と同じ行で使用する必要があります。たとえば、myattribute class myClass などです。
行の最後で明示的にステートメントを終了する必要はありませんが、ここで説明する JScript の例のほとんどでは、わかりやすくするために式を明示的に終了しています。ステートメントを明示的に終了するには、ステートメントの最後にセミコロン (;) を記述します。JScript では、セミコロン (;) は終了文字を表します。次に JScript ステートメントの例を 2 つ示します。
var aBird = "Robin"; // Assign the text "Robin" to the variable aBird.
var today = new Date(); // Assign today's date to the variable today.
複数の JScript ステートメントを中かっこで囲むと、かっこ内の一連のステートメントがまとめられてブロックとなります。ブロック内のステートメントは、通常、1 つのステートメントとして扱われます。つまり、単独のステートメントを記述できる場所であれば、ほとんどの場合、代わりにブロックを使用できます。ただし、for ループや while ループのヘッダーは例外です。次のコードは、for ループの使用例です。
var i : int = 0;
var x : double = 2;
var a = new Array(4);
for (i = 0; i < 4; i++) {
x *= x;
a[i] = x;
}
ブロック内の各ステートメントはセミコロンで終了しますが、ブロックそのものはセミコロンで終了しません。
通常、関数、条件処理、およびクラスではブロックを使用します。C++ やその他のほとんどの言語とは異なり、JScript ではブロックは新しいスコープとは見なされません。新しいスコープを作成するのは、関数、クラス、静的初期化子、および catch ブロックだけです。
次のコード例では、最初のステートメントが関数定義の開始行であり、関数は if...else の構文の 3 つのステートメントで構成されています。ブロックの後には、関数ブロックのかっこで囲まれていないステートメントがあります。したがって、最後のステートメントは関数定義には含まれません。
function FeetToMiles(feet, cnvType) {
if (cnvType == "NM")
return( (feet / 6080) + " nautical miles");
else if (cnvType == "M")
return( (feet / 5280) + " statute miles");
else
return ("Invalid unit of measure");
}
var mradius = FeetToMiles(52800, "M");