プログラミングとは、主に、コンピューターのメモリ内の情報を変更する作業です。したがって、プログラム内で個々の情報を表す手段を持つことが重要です。変数はコンピューターのメモリ内の値を表す名前です。値を操作するステートメントを記述する場合、値の代わりに変数名を記述します。コンピューターは、プログラム内に変数名を検出した場合は必ずメモリ内を検索し、そこで見つかった値を使用します。例えば、
value1
と
value2
の 2 つの変数があり、それぞれに数値が 1 つずつ格納されている場合、2 つの数値を加算するステートメントは次のように記述できます。
value1 + value2
コンピューターが手順を実際に実行するときには、それぞれの変数に格納された値を検出し、それらを加算します。
ActionScript 3.0 では、実際には変数は 3 つの異なるパートから構成されます。
-
変数の名前
-
変数に格納できるデータ型
-
コンピューターのメモリに格納される実際の値
これで、コンピューターがどのようにして名前を値のプレースホルダーとして使用するかがわかりました。データ型も重要です。ActionScript で変数を作成するときには、変数が格納する特定のデータ型を指定します。この時点から、プログラムの命令は、指定されたデータ型のみを変数に格納できるようになります。また、そのデータ型に関連付けられた特定の特性を使用して値を操作できます。ActionScript では、変数を作成する場合(変数の宣言と呼ばれる)、
var
ステートメントを使用します。
var value1:Number;
この例は、Number 型のデータのみを格納する
value1
という変数の作成をコンピューターに命令しています(「Number」は ActionScript で定義されている固有のデータ型です)。この直後に値を変数に格納することも可能です。
var value2:Number = 17;
Adobe Flash Professional
Flash Professional では、変数を宣言する方法がもう 1 つあります。ステージにムービークリップシンボル、ボタンシンボル、またはテキストフィールドを配置した場合、プロパティインスペクターでインスタンス名を指定できます。内部的には、指定したインスタンス名と同じ名前の変数が、Flash Professional によって作成されます。この変数をActionScript コードで使用することで、そのステージアイテムを表すことができます。例えば、ステージにムービークリップシンボルを配置し、そのシンボルに
rocketShip
というインスタンス名を指定するとします。ActionScript コードで変数
rocketShip
を使用すると、いつでも必ずそのムービークリップを操作することになります。
定数は、変数とよく似ています。定数とは、指定されたデータ型でコンピューターのメモリ内の値を表す名前ですが、異なる点は、ActionScript アプリケーションで定数には一度に 1 つの値のみを割り当てることができることです。割り当てた定数値は、アプリケーション内で一貫して同じ値になります。定数を宣言するためのシンタックスは変数の宣言と同じですが、
var
キーワードの代わりに
const
キーワードを使用する点が異なります。
const SALES_TAX_RATE:Number = 0.07;
定数は、プロジェクト内の複数の場所で使用され、通常の状況下では変化しない値を定義するのに便利です。リテラル値の代わりに定数を使用することで、コードがさらに読みやすくなります。例えば、同じ処理を行うコードの 2 とおりの記述方法を比較してみましょう。一方のコードでは、定価に
SALES_TAX_RATE
を掛けます。もう一方のコードでは、定価に
0.07
を掛けます。
SALES_TAX_RATE
を使った記述の方がコードの目的を理解しやすいことがわかります。また、定数で定義されている値を変更する必要が生じた場合、プロジェクト全体で、定数を使ってその値を表しているのであれば、1 箇所(定数の宣言)で値を変更するだけで済みます。対照的に、ハードコードされたリテラル値を使用している場合は、多くの箇所を変更する必要が生じます。