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

最終更新日: 2003年8月8日

データ型の取得

typeof 演算子

スクリプトを記述していると、変数(および後述する関数などの式)のデータ型を調べたいケースが出てきます。
そんなときに活躍するのが、typeof 演算子(演算子については「演算子」を参照)です。
typeof 演算子の書式は以下のとおりです。' typeof ' の後ろに半角スペース、その後ろに調べたい変数、関数などの式を置きます。typeof 演算子は、文字列でデータ型を返します。

typeof 演算子の書式


typeof 演算子が返す文字列:実習

typeof 演算子が返す文字列は、残念ながら英語です。
それでは実際にFlashで入力しながら各データ型が返す文字列を確かめてみましょう。

1.FlashMXを起動し、新規ドキュメントを開いてください。
2.[ アクション ] パネルが表示されていないときは、[ F9 ] キーを押して表示します。
3.[ レイヤー1 ] の第1フレームをクリックして選択します。
4.[ アクション ] パネルの [ スクリプトペイン ] をクリックし、アクティブ(入力可能な状態)にします。
5.基本データ型から確認しましょう。以下のスクリプトを入力します。

var1 = 56 ;                     // 変数 ' var1 ' に数値「56」を代入
trace( typeof var1 ) ;    // 変数 ' var1 ' のデータ型を [ 出力 ] ウィンドウに表示
var2 = "こんにちは" ;     // 変数 ' var2 ' に文字列「こんにちは」を代入
trace( typeof var2 ) ;    // 変数 ' var2 ' のデータ型を [ 出力 ] ウィンドウに表示
var3 = true ;                  // 変数 ' var3 ' にブール値「true」を代入
trace( typeof var3 ) ;    // 変数 ' var3 ' のデータ型を [ 出力 ] ウィンドウに表示

6.[ Ctrl ] + [ Enter ] キーを押して、ムービープレビューを実行します。

[ 出力 ] ウィンドウの表示結果は以下のとおりです。
数値は「number」、文字列は「string」、ブールは「boolean」と表示されます。

number
string
boolean

次は、undefinedとnullを調べてみましょう。

7.[ Ctrl ] + [ W ] キーを押して、ムービープレビューのウィンドウを終了します。

8.レイヤー1のすべてのスクリプトを削除し、あらたに以下のスクリプトを記述します。

var1 = undefined ;         // 変数 ' var1 ' に「undefined」を代入
trace( typeof var1 ) ;    // 変数 ' var1 ' のデータ型を [ 出力 ] ウィンドウに表示
var2 = null ;                   // 変数 ' var2 ' に「null」を代入
trace( typeof var2 ) ;    // 変数 ' var2 ' のデータ型を [ 出力 ] ウィンドウに表示

9.[ Ctrl ] + [ Enter ] キーを押して、ムービープレビューを実行します。

[ 出力 ] ウィンドウの表示結果は以下のとおりです。
undefinedは「undefined」、nullは「null」と表示されます。

undefined
null

続いて、ステージ上に配置される3種類のインスタンスを調べてみましょう。

10.[ Ctrl ] + [ W ] キーを押して、ムービープレビューのウィンドウを終了します。

11.レイヤーを追加し、新規レイヤー(レイヤー2)の第1フレームに、ムービークリップ、ボタン、テキストフィールド(ダイナミックテキストまたはテキスト入力)の3つを配置します。
インスタンス名は、ムービークリップ「test_mc」、ボタン「test_btn」、テキストフィールド「test_txt」とします。

3つのインスタンスをステージ上に配置

12.レイヤー1のすべてのスクリプトを削除し、あらたに以下のスクリプトを記述します。

trace( typeof test_mc ) ;    // ' test_mc ' のデータ型を [ 出力 ] ウィンドウに表示
trace( typeof test_btn ) ;   // ' test_btn ' のデータ型を [ 出力 ] ウィンドウに表示
trace( typeof test_txt ) ;    // ' test_txt ' のデータ型を [ 出力 ] ウィンドウに表示

13.[ Ctrl ] + [ Enter ] キーを押して、ムービープレビューを実行します。

[ 出力 ] ウィンドウには以下のように表示されます。
ムービークリップは「movieclip」、ボタンとテキストフィールドは「object」と表示されました。後者はともに、データ型としてはオブジェクト型ですので、正しい表示です。

movieclip
object
object

14.[ Ctrl ] + [ W ] キーを押して、ムービープレビューのウィンドウを終了します。

少し先走りとなりますが、他のオブジェクトも調べておきましょう。現時点で、意味が分からなくてもかまいません。

15.レイヤー1のすべてのスクリプトを削除し、あらたに以下のスクリプトを記述します(そのままコピーしてください)。

trace(typeof Selection);                                 // Selectionオブジェクトをtrace
trace(typeof Stage);                                     // Stageオブジェクトをtrace
trace(typeof System);                                    // Systemオブジェクトをtrace
trace(typeof new Array(5,4,3,2,1,0));                  // Arrayオブジェクトをtrace
trace(typeof new Boolean(true));                       // Booleanオブジェクトをtrace
trace(typeof new Color(test_mc));                      // Colorオブジェクトをtrace
trace(typeof new Date());                               // Dateオブジェクトをtrace
trace(typeof trace);                                     // trace関数をtrace
function myFunc(){};                                     // functionオブジェクト myFuncを定義
trace(typeof myFunc);                                    // functionオブジェクト myFuncをtrace
trace(typeof new LoadVars());                           // LoadVarsオブジェクトをtrace
trace(typeof new LocalConnection());                   // LocalConnectionオブジェクトをtrace
trace(typeof new Number(6));                            // Numberオブジェクトをtrace
trace(typeof new Object());                             // Objectオブジェクトをtrace
trace(typeof new Sound());                              // Soundオブジェクトをtrace
trace(typeof new String("おはよう"));                  // Stringオブジェクトをtrace
trace(typeof new SharedObject());                      // SharedObjectオブジェクトをtrace
trace(typeof new TextFormat());                        // TextFormatオブジェクトをtrace
trace(typeof new XML("<html>こんにちは</html>"));    // XMLオブジェクトをtrace
trace(typeof new XMLSocket());                         // XMLSockectオブジェクトをtrace

16.[ Ctrl ] + [ Enter ] キーを押して、ムービープレビューを実行します。

[ 出力 ] ウィンドウには以下のように表示されます。
関数は「function」、それ以外は「object」と表示されました。『ActionScript辞書』では、Functionオブジェクトはオブジェクトに仕分けされていますが、どうやら、内部的にはfunction型として扱われているようです。

object
object
object
object
object
object
object
function
function
object
object
object
object
object
object
object
object
object
object

17.[ Ctrl ] + [ W ] キーを押して、ムービープレビューのウィンドウを終了します。

以上で、実習は終了です。結果をまとめると、typeof演算子が返す文字列は以下のようになります。
実際に、 typeof演算子を使用するときの参考にしてください。

データ型

表示結果

数値

number

文字列

string

ブール

boolean

undefined

undefined

null

null

ムービークリップ

movieclip

オブジェクト(Function)

function

オブジェクト(それ以外)

object


・関連項目

データ型
[ 出力 ] ウィンドウへの表示
演算子
関 数
式、ステートメント、ブロック
オブジェクト(詳細)

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