次の方法で共有


JScript コードの記述

Microsoft® JScript® (以下 JScript) では、一般のプログラミング言語と同様にテキスト形式でコードを記述します。コードには、各種ステートメント、互いに関連する一連のステートメントが集められたブロック、およびコメントが含まれます。ステートメント内では、変数、文字列や数値などのリテラルと呼ばれるデータ、および式を使用できます。

ステートメント

JScript プログラムは、ステートメントの集合です。JScript ステートメントは、主語や動詞、目的語などで構成される英語の文章と同ようなものです。JScript ステートメントでは、式を組み合わせることによって 1 つのタスク全体を実行します。

ステートメントには、1 つ以上の式、キーワード、または演算子 (記号) が含まれます。ステートメントは複数行にわたって記述することも可能ですが、通常は 1 行で記述します。また、セミコロンを使用すると、同じ行に複数のステートメントを記述することもできます。通常、新しい行に移ると、新しいステートメントの開始になります。ステートメントの終わりを明示的に記述することをお勧めします。ステートメントの終わりを明示的に記述するには、ステートメントの最後にセミコロン (;) を記述します。JScript では、セミコロン (;) は終了文字を表します。次に JScript ステートメントの例を 2 つ示します。

aBird = "Robin"; // 変数 aBird に "Robin" を代入します。
var today = new Date(); // 変数 today に今日の日付を代入します。

複数の JScript ステートメントを中かっこで囲むと、かっこ内の一連のステートメントがまとめられてブロックとなります。ブロックにまとめられたステートメントは、通常、1 つのステートメントとして扱われます。つまり、1 つのステートメントで記述すべきほとんどの場所で、ブロックを使用できます。ただし、for ループや while ループのヘッダーは例外です。ブロック内の構成要素となる個々のステートメントはセミコロンで終了しますが、ブロックそのものは終了しません。

通常、ブロックは関数や条件処理などで使用します。C++ やその他の言語とは異なり、JScript ではブロックは新しいスコープとは見なされません。新しいスコープは、関数でのみ作成されます。次のコード例では、最初のステートメントで関数定義を開始し、その後の 5 つのステートメントのブロックで関数を定義しています。次に示す中かっこで囲まれていない最後の 3 つのステートメントは、ブロックではありません。また、関数定義の一部分でもありません。

function convert(inches) {
   feet = inches / 12; // ここの 5 つのステートメントは、1 つのブロックに入れられています。
   miles = feet / 5280;
   nauticalMiles = feet / 6080;
   cm = inches * 2.54;
   meters = inches / 39.37;
}
km = meters / 1000; // ここの 3 つのステートメントは、ブロックに入れられていません。
kradius = km;
mradius = miles;

コメント

JScript の単一行コメントは、2 つのスラッシュ (//) で始まります。次に 1 行コメントの例を示します。

aGoodIdea = "Comment your code thoroughly."; // これは単一行コメントです。

複数行コメントは、スラッシュとアスタリスク (/*) で始まり、その 2 つを逆に組み合わせた記号 (*/) で終わります。

/*
これは、1 つ前のコードのステートメントを説明する複数行コメントです。

このステートメントは、変数 aGoodIdea に値を代入しています。このような引用符で
囲まれた値は、リテラルと呼ばれます。リテラルは、情報を間接的に参照するタイプの
ものではありません。リテラルには、情報が明示的かつ直接的に入れられています 
(引用符は、リテラルの一部ではありません)。
*/

**メモ   **複数行コメントを他の複数行コメント内に単純に埋め込むと、JScript では正しく解釈されません。埋め込んだ複数行コメントの終わりを示す */ が、複数行コメント全体の終わりとして解釈されてしまうからです。埋め込まれた複数行コメントに続く残りのコメント部分が、コメントとしてではなく JScript のコードとして解釈され、構文エラーが発生します。

コメントを記述する場合は、単一行コメントのブロックとして記述することをお勧めします。これにより、複数行コメントを使って、コードの大きなセグメントを後からコメント アウトできます。

// これは、単一行コメントをいくつも使用するという、別の形で記述された複数行コメントです。
// ステートメントが実行された後は、次に示すステートメントのように、変数 aGoodIdea の内容
// を名前を指定して参照することができます。このステートメントは、文字列の連結によって
// 変数 aGoodIdea に文字列リテラルを追加し、新しい変数を作成しています。

var extendedIdea = aGoodIdea + "いつコードの内容を解析しなければならなくなるかもしれません。";

代入と等価比較

JScript では、等号 (=) は、変数に値を代入する処理に使用し、代入演算子と呼ばれます。= 演算子の左側のオペランドは Lvalue です。次に Lvalue の例を示します。

  • 変数
  • 配列要素
  • オブジェクトのプロパティ

= 演算子の右側のオペランドは Rvalue です。Rvalues には、式の値を含む、あらゆる型の任意の値を指定できます。次に JScript の代入ステートメントの例を示します。

anInteger = 3;

JScript のコンパイラでは、このステートメントは、"3 という値を変数 anInteger に代入する" または "anInteger の値は 3 になる" という意味として処理されます。

= 演算子 (代入) と == 演算子 (等価) は、それぞれ別の意味を示しています。2 つの値が等しいかどうかを調べる場合は、2 つの等号を続けて (==) 使用します。詳細については、「JScript のプログラム フロー制御」を参照してください。

JScript では、インタープリタが評価して値を生成できる構造の句を式と言います。値には JScript で有効なすべての型 (数値、文字列、オブジェクトなど) を指定できます。最も簡潔な式はリテラルです。次に、JScript のリテラルの式の例を示します。

3.9                       // 数値リテラルです。
"Hello!"               // 文字列リテラルです。
false                     // ブール値リテラルです。
null                      // リテラルはヌル値です。
{x:1, y:2}                // オブジェクト リテラルです。
[1,2,3]                   // 配列リテラルです。
function(x){return x*x;}  // 関数リテラルです。

より複雑な式では、変数、関数呼び出し、その他の式も含むことができます。式をまとめることで、演算子を使用したさらに複雑な式を作成できます。次に演算子の例を示します。

+  // 追加
- // 減算
*  // 乗算
/  // 除算

次に JScript の複雑な式の例を示します。

var anExpression = 3 * (4 / 5) + 6;
var aSecondExpression = Math.PI * radius * radius;
var aThirdExpression = aSecondExpression + "%" + anExpression;
var aFourthExpression = "(" + aSecondExpression + ") % (" + anExpression + ")";