データ型 [Edit]

ActionScript のデータ型

スクリプトの中に記述したり、変数に代入することができるデータの種類は、あらかじめ決められています。このデータの種類のことを、データ型といいます。
ActionScript のデータ型には、数値、ストリング(文字列)、ブール、オブジェクト、ムービークリップの5つがあります(実際には function 型も扱えます)。

プリミティブデータ型とリファレンスデータ型

数値、ストリング(文字列)、ブールは、プリミティブデータ型(基本データ型)、オブジェクト、ムービークリップは、リファレンスデータ型(複合データ型)と呼ばれます。

2つのデータ型は大きく異なりますが、かなりむずかしい話になりますので、ここでは詳しく触れません。簡単な説明だけにします。

プリミティブデータ型は、ひとつの値からなっています。データが値そのままの形で保持されています。
これに対し、リファレンスデータ型は、オブジェクトやムービークリップなどの複数の値(プロパティ)からなるデータです。データに名前が付けられ、その中にさらに名前を持ったデータが入れ子状に保持されています。変数が入れ子状になったものと考えると分かりやすいかもしれません。各プロパティにアクセスするには、オブジェクトを特定してプロパティ名を指定する必要があります。


数値

文字通り、数の値を扱うデータ型です。
ActionScript の数値は、正負符号付の整数、小数を扱うデータ型です。有効桁数は15桁(倍精度浮動小数点)で、これを超えるものは精度が落ちます。数値は、半角数字(1バイト)をそのまま記述します。

整数 --- 517429、-2568、3、100など
小数 --- 0.256、-0.0078、98.00647、-100.00058など
また、数学の実数計算とは異なり、小数どうしの計算も思った結果を返してくれるとは限りません。例えば、以下の剰余(割った余り)式の結果は '0.1' ではなく '0.0999999999999996' となります。

n = 4.3 % 2.1 ; //結果は0.0999999999999996

10進数がベースですが、8進数(実際にはバグで動きません)や16進数を扱うこともできます。数字の頭に ' 0 ' をつけると8進数、' 0x ' (ゼロと小文字のエックス)をつけると16進数として解釈されます。16進数は Web のカラー指定で、おなじみのものですね。

n = 0xFF00EE ; // n は10進数の ' 16711918 ' になります。
n = 0x55FFCC + 0x0055FF ; // n は10進数の ' 5658059 ' になります。

数値として使用できる文字は半角数字(1バイト)です。全角数字、漢数字などは使えません。また、2桁以上で' 0 ' ではじまる数字、3桁区切りのカンマ( , )なども使えませんので気をつけてください。

12345 // 全角数字は使用できない。
一二三四五 // 漢数字は使用できない。
012345 // 2桁以上で頭に ' 0 ' をつけた数字は使用できない。
123,456,789// 3桁区切りのカンマ( , )は使用できない。


ストリング(文字列)

文字を扱うデータ型です。ActionScript では、文字数に関係なく、文字をひとつのデータとして扱います。文字列とも呼ばれます。
ストリングは、該当する文字を引用符( ' )または二重引用符( " )でくくって指定します。半角数字を引用符でくくった場合、数値ではなくストリングとなります。ふだんは見やすさのため、二重引用符( " )を使用することをお勧めします。

・使用例
s = "おはようございます" ;
s = "abcdefg" ;
s = "1234567890" ;

バックスペース、改行、タブなどの特殊文字や引用符などを文字として使用したい場合は、頭に\記号を付加することによって記述できます。

\b --- バックスペース
\f --- 改ページ
\n --- 改行
\r --- 復帰
\t --- タブ
\' --- 引用符( ' )
\" --- 二重引用符( " )
\\ --- 円記号( \ )
なお、ActionScript では多くの場合、英字の大文字小文字を区別しませんが、ストリングの場合は区別されます。"ABC" と "abc" は異なる値として扱われます。


ブール

' true ' または ' false ' のどちらかの値をもつデータ型です。これ以外の値は存在しません。真偽値とも呼ばれます。
ブールは任意の条件を充たしているかどうかを表すフラグ(旗)として、よく使用されます。フラグ(旗)は条件が充たされているとき上がり( true )、それ以外は降りている( false )目印です。例えばゲームで特定のアイテムを取得したか否かを判定するには、ブール型の変数を用意し、ゲーム開始時に ' false ' を、アイテム取得時に ' ture ' を設定します。この変数を参照することにより、アイテムの有無がわかります。
また、このブール変数単独または演算子と組み合わせて、条件によって異なる処理を行う分岐処理の条件式として使用されます。

b = true ;
b = false ;


オブジェクト

オブジェクトは、複数のプロパティから構成された複合データです。 オブジェクト(インスタンス)名を持ち、各プロパティは名前と値の一対からなっています。
Flashであらかじめ定義されたオブジェクトには、Array、Boolean、Color、Date、Key、Math、Mouse、Number、Object、Selection、Sound、String、XML、XMLSocket の14種類があります。このうち、Object オブジェクトは、ユーザーが独自にオブジェクトを定義する際に使用する汎用 Object です。
詳細は『ActionScript辞書』を参照してください。

オブジェクト


ムービークリップ

Flashでもっとも重要なデータ型です。実際には、オブジェクトの一種ですが、その重要性から独立したデータ型として扱われます。データ型の中で、唯一、図形等の表示要素を持つことができます。
詳しくは「ムービークリップ」を参照してください。


型変換

ActionScript は型づけの弱いスクリプト言語です。他のプログラム言語と異なり、変数を使用する場合にも型宣言をする必要はありません。データは必要に応じて自動的に型変換され、評価されます。
初心者に扱いやすい反面、万能ではないので、随所にその影響が出てきます。
このサイトでは、それらの問題についても、必要な場面で解説します。

・関連項目

オブジェクト(概要)
ムービークリップ

その他の記事