« 変数の種類とスコープ(有効範囲) | メイン | データ型の変換 »

データ型の種類

データ型は、実際の値をもつプリミティブ型と値への参照だけのリファレンス型の2種類に分けることができます。さらにこの2種類に加えて、特殊なデータ型としてnull(値なし)とundefined(型未定義)があります。
プリミティブ型にはString、Number、Boolean、定数があります。

データ型    値の例
String → "test"、 "こんにちは"
Number → 123、42、0.32、21e4
Boolean → true、false

-123などのマイナスの値もNumber型ですが、+-は符号を示す演算子です。定数はMath.PIやKey.Rightなどですが、実際の値が何であるかによって型が決まります(実際のところすべてはNumber型です)。
リファレンス型にはMovieClip、objectがあります。ムービークリップのインスタンスがMovieClip型です。Object型の値には、ObjectクラスやDateクラスなどのクラスから生成したインスタンスに加えて、[1, 2, 3, 4]、{name:"chan", age:21}などの配列演算子を使って作った値があります。

Object型の値
v1 = [1, 2, 3, 4];
v2 = {name:"chan", age:21};
v3 = new Array(1, 2, 3);
v4 = new Date(2004, 6, 7);
v5 = new Object();


図3-4-1 データ型の種類

■データ型のチェック
値のデータ型をチェックするにはtypeof演算子を使います。返される値はデータによって次のようになります。

ストリング → string
ムービークリップ → movieclip
ボタン → object
テキストフィールド → object
数値 → number
ブール値 → boolean
オブジェクト(インスタンス) → object
関数 → function
null → null
未定義 → undefined


例:
trace(typeof "test"); //出力→ string
trace(typeof 123); //出力→ number
trace(typeof ([1, 2, 3, 4])); //出力→ object
usr = {name:"chan", age:21};
trace(typeof usr.name); //出力→ string
today = new Date();
trace(typeof today); //出力→ object

nullとundefinedも同様です。

例:
trace(typeof null); // null
trace(typeof x); // 変数xをいきなり使用したのでundefined


型に応じて処理を振り分けるといった場合には、"string"、"number"、"object"のようにストリングで比較します。

例:
v = "test";
if (typeof v == "string") {
 trace("vはストリング");
}

投稿者 oshige : 2005年02月15日 15:57

トラックバック

このエントリーのトラックバックURL:
http://oshige.com/mt/mt-tb.cgi/1192

コメント

コメントしてください




保存しますか?