初心者のためのFlash ActionScript講座
Flash ActionScript Helper
Home Menu

最終更新日: 2003年7月28日

データ型

ActionScript のデータ型

スクリプトの中に記述したり、変数に代入することができるデータの種類は、あらかじめ決められています。このデータの種類のことを、データ型といいます。
ActionScript のデータ型には、文字列(String)、数値(Number)、ブール(Boolean)、オブジェクト、ムービークリップ、ヌル(null)、未定義(undefined)の7つがあります。


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

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

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

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

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

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

文字列(String)

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

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

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

  • \b --- バックスペース
  • \f --- 改ページ
  • \n --- 改行
  • \r --- 復帰
  • \t --- タブ
  • \' --- 引用符( ' )
  • \" --- 二重引用符( " )
  • \\ --- 円記号( \ )

なお、ActionScript では多くの場合、英字の大文字小文字を区別しませんが、文字列の場合は区別されます。"ABC" と "abc" は異なる値として扱われます。


数値(Number)

文字通り数の値を扱うデータ型です。
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 ' をつけた数字は使用できない( 8進数として扱われる)。
123,456,789// 3桁区切りのカンマ( , )は使用できない。


ブール(Boolean)

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 など多くの種類があります。このうち、Object オブジェクトは、ユーザーが独自にオブジェクトを定義する際に使用する汎用 Object です。
詳細はページ下の関連項目または『ActionScript辞書』を参照してください。

オブジェクト

ムービークリップ

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


ヌル(null)と未定義(undefined)

ヌル(null)と未定義(undefined)は、値が設定されていないことを表す特殊なデータ型です。ヌルの値は ' null '、未定義の値は ' undefined 'しか存在しません。ActionScriptでは両者はほぼ同じものと考えてかまいません。
変数に値が設定されているかどうかを調べるとき、変数の値をクリアしたいときなどに使用します。スクリプトを書くことに慣れないうちは、意味が分かりづらいデータ型です。


型変換

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



・関連項目

データ型の取得
オブジェクト(概要)
ムービークリップ
定義済みオブジェクト
プリミティブデータ型と同種のオブジェクト
オブジェクト(詳細)

(C)2000-2004 Ginga Baba. All rights reserved. お問い合わせ先:ginga@nifty.com
ページTOPへ
Home Menu