データ型のチェック:is、as、typeof
実行中に値のデータ型をチェックしたい場合には、目的に応じて is、as、typeofの演算子を使う。
is演算子
データ型が一致したときtrue、それ以外はfalseを返す。データ型は継承している基本クラスまで調べて比較する。また、インターフェイスが実装されているかどうかも比較出来る。
例
var price:int = 250;
trace (price is int);
出力:true
trace (price is Number);
出力:true
trace (price is String);
出力:falsevar vlist:Array = [3, 5, 8];
出力:true
trace (vlist is Array);
trace (vlist is Object);
出力:true
trace (vlist is Numver);
出力:falsevar clip:MovieClip = new ballMC();
trace (clip is MovieClip);
出力:true
trace (clip is Sprite);
出力:true
trace (clip is DisplayObject);
// 出力:true
as演算子
データ型が一致したときその値を返し、一致しないときはnullを返す。また、評価したデータ型にして値を返すので、値のタイプを変換するキャストの目的でも利用される。
例
var vlist:Array = [250, -30 ,"red"];
trace(vlist[0] as int);
出力:250
trace (vlist[1] as int);
出力:-30
trace (vlist[2] as int);
// 出力:null
typeof
タイプに応じた情報をストリングで返す。データ型によって返す値は以下のようになる。
| データ型 | 結果 |
|---|---|
| Array | object |
| Boolean | Boolean |
| Function | function |
| int | Number |
| Number | Number |
| Object | Object |
| String | String |
| uint | Number |
| XML | xml |
| XMLList | xml |
例
var price:int = 250;
trace (typeof price);
出力:numbervar state:Boolean = true;
出力:boolean
trace (typeof state);
var msg:Boolean = "test";
trace (typeof msg);
出力:booleanvar vlist:Array = [3, 5, 8];
trace (typeof vlist);
出力:objectvar clip:MovieClip = new ballMX();
trace (typeof clip);
// 出力:object
索引
- オブジェクトとクラス
- コメント
- parent
- ステートメントの区切りと改行
- 大文字と小文字
- 変数
- 定数
- グローバル定数
- クラスの静的パブリック定数
- エスケープシーケンス
- 関数とメソッドの違い
- 「予約語」と「キーワード」
- 変数の型
- グローバル関数
- arguments オブジェクト
- ...(rest)パラメータ
- データ型のチェック:is、as、typeof
- ストリングを数値に変換
- 数値をストリングに変換する
- Application オブジェクトについて
- Document オブジェクトについて
- データ型の変換(キャスト)
- プリインクリメント、ポストインクリメント、プリデクリメント、ポストデクリメント
- 比較演算子
- 論理演算子
- ビット単位演算子(ビット演算子)
- XML演算子
- その他の演算子
- 三項演算子
- 「::」名前空間識別演算子
- 「[]」
- 「{}」
- 配列アクセス演算子「[]」
- 多次元配列
- Arrayクラスを使う
- 配列の値の個数を調べる length
- 配列の先頭/末尾に値を追加する/抜き取る:push() pop() unshift() shift()
- Spriteクラスに図形を描画する
- 配列の一部を切り出す slice(), splice()
- 配列を複製する slice()
- 配列を連結する concat()
- 配列を検索する indexOf() lastIndexOf()
- 配列の値を逆順に並べ替える reverse()
- 配列の値の並びをソートする sort()
- 配列を関数の結果でソートする
- 配列の要素がオブジェクトのとき、オブジェクトの値でソートする sortOn()
- 配列の値をストリングに変換する toString() join()
- 配列の値をチェックする some() every()
- 配列にフィルタをかけて新しい配列を作る filter()
- 配列の値を指定の関数で変換する map()
- 配列の値を使って指定のメソッドを実行する forEach()
- 配列のインデックスを順に取り出す
- インデックス番号やプロパティ名を順に取り出す for .. in
- 値を順に取り出す for each .. in
- グローバル座標、ローカル座標
- マウスの座標
- MouseEventクラスのイベント通知からマウスのローカル座標を取得する
- 点を扱う Pointクラス
- ベクトルの加算減算 add()、subtract()、distance()、equals()
- ベクトルの向きと大きさ interpolate()
- ベクトルの向きと大きさ normalize()
- ベクトルの向きと大きさ polar()
- 短形領域を扱う Rectangleクラス
- 短形領域の加算 union()
- 短形領域の減算 intersection()
- 短形領域の伸縮 inflate()、inflatePoint()
- 短形領域の衝突 containsPoint()、containsRect()、intersects()

