記号演算子は式の値の組み合わせ、比較、または修正の方法を指定する文字です。


 算術
 +addition数値式を加算します。
 --decrementオペランドから 1 を減算します。
 /divisionexpression1expression2 で除算します。
 ++increment式に 1 を加算します。
 %moduloexpression1expression2 で割ったときの剰余を計算します。
 *multiplication2 つの数値や式を乗算します。
 -subtraction符号反転や減算に使用します。
 算術複合代入
 +=addition assignmentexpression1expression1 + expression2 の値を割り当てます。
 /=division assignmentexpression1expression1 / expression2 の値を割り当てます。
 %=modulo assignmentexpression1expression1 % expression2 の値を割り当てます。
 *=multiplication assignmentexpression1expression1 * expression2 の値を割り当てます。
 -=subtraction assignmentexpression1expression1 - expression2 の値を割り当てます。
 代入
 =assignmentexpression2 の値 (右側のオペランド) を expression1 の変数、配列エレメント、またはプロパティに割り当てます。
 ビット単位
 &bitwise ANDexpression1expression2 を 32 ビット符号なし整数に変換し、整数パラメータをビット単位で論理積 (AND) 演算します。
 <<bitwise left shiftexpression1shiftCount を 32 ビット整数に変換し、shiftCount の変換により生成された整数で指定される桁数だけ expression1 内のすべてのビットを左にシフトします。
 ~bitwise NOTexpression を 32 ビット符号付き整数に変更し、ビット単位で 1 の補数を適用します。
 |bitwise ORexpression1expression2 を 32 ビット符号なし整数に変換し、expression1expression2 の対応ビットの少なくとも一方が 1 である各ビット位置に 1 を設定します。
 >>bitwise right shiftexpressionshiftCount を 32 ビット整数に変換し、shiftCount の変換により生成された整数で指定される桁数だけ expression 内のすべてのビットを右にシフトします。
 >>>bitwise unsigned right shift左側のビットは常に 0 で埋められるため、元の式の符号が保持されないという点を除いて、ビット単位の右シフト (>>) 演算子と同じです。
 ^bitwise XORexpression1expression2 を 32 ビット符号なし整数に変換し、expression1expression2 の対応ビットのいずれか一方のみが 1 である各ビット位置に 1 を設定します。
 ビット単位複合代入
 &=bitwise AND assignmentexpression1expression1 & expression2 の値を割り当てます。
 <<=bitwise left shift and assignmentビット単位の左シフト (<<=) 演算を行い、その内容を結果として expression1 に格納します。
 |=bitwise OR assignmentexpression1 expression1 | expression2 の値を割り当てます。
 >>=bitwise right shift and assignmentビット単位の右シフト演算を行い、結果を expression に格納します。
 >>>=bitwise unsigned right shift and assignmentビット単位の符号なし右シフト演算を行い、結果を expression に格納します。
 ^=bitwise XOR assignmentexpression1 expression1 ^ expression2 の値を割り当てます。
 コメント
 /*..*/block comment delimiterスクリプトコメントのブロックを区切ります。
 //line comment delimiterスクリプトコメントの先頭を示します。
 比較
 ==equality2 つの式の等価性をテストします。
 >greater than2 つの式を比較し、expression1expression2 より大きいかどうかを判定します。大きい場合、結果は true になります。
 >=greater than or equal to2 つの式を比較し、expression1expression2 より大きいか等しい (true)、または expression1expression2 より小さい (false) かどうかを判定します。
 !=inequality等価 (==) 演算子の正反対が真であるかどうかをテストします。
 <less than2 つの式を比較し、expression1expression2 より小さいかどうかを判定します。小さい場合、結果は true になります。
 <=less than or equal to2 つの式を比較し、expression1expression2 より小さいまたは等しいかどうかを判定します。小さいか等しい場合、結果は true になります。
 ===strict equality自動データ変換を行わずに、2 つの式が等しいかどうかをテストします。
 !==strict inequality厳密な等価 (===) 演算子の正反対が真であるかどうかをテストします。
 論理
 &&logical ANDfalse である場合または false に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。
 !logical NOT変数や式のブール値を反転します。
 ||logical ORtrue である場合または true に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。
 その他
 []array access指定されたエレメント (a0 など) で新しい配列または多次元配列を初期化するか、配列内のエレメントにアクセスします。
  as最初のオペランドで指定された式が、2 番目のオペランドで指定されたデータ型のメンバーであるかどうかを評価します。
 ,commaexpression1、式 expression2、... の順に評価します。
 ?:conditionalexpression1 を評価し、expression1 の値が true である場合、結果は expression2 の値となり、そうでない場合は expression3 の値となります。
  deletereference によって指定されたオブジェクトプロパティを破棄します。処理後にプロパティが存在しない場合、結果は true になり、存在する場合は false になります。
 .dotクラス変数およびメソッドにアクセスし、オブジェクトプロパティの取得および設定を行い、読み込まれたパッケージまたはクラスを区切ります。
  inプロパティが特定のオブジェクトの一部であるかどうかを評価します。
  instanceof式のプロトタイプチェーンに function のプロトタイプオブジェクトが含まれるかどうかを評価します。
  isオブジェクトに特定のデータ型、クラス、またはインターフェイスと互換性があるかどうかを評価します。
 ::name qualifierプロパティ、メソッド、XML プロパティ、または XML 属性の名前空間を識別します。
  newクラスインスタンスをインスタンス化します。
 {}object initializer新しいオブジェクトを作成し、指定された namevalue のプロパティペアで初期化します。
 ()parenthesesパラメータに対してグループ化演算を実行するか、複数の式を順番に評価します。または、パラメータを囲み、引数として括弧の前の関数に渡します。
 /RegExp delimiter文字の前後を囲んで使用する場合、囲まれた文字はリテラル値を表し、変数やストリング、その他の ActionScript エレメントではなく、正規表現 (RegExp) と見なされます。
 :typeデータ型を割り当てるために使用します。この演算子は、変数の型、関数の戻り値の型、または関数パラメータの型を指定します。
  typeofexpression を評価し、式のデータ型を表すストリングを返します。
  void式を評価した後、その値を破棄して、undefined を返します。
 ストリング
 +concatenationストリングを連結 (結合) します。
 +=concatenation assignmentexpression1expression1 + expression2 の値を割り当てます。
 "string delimiter文字の前後を囲んで使用する場合、囲まれた文字はリテラル値を表し、変数や数値、その他の ActionScript エレメントではなく、ストリングと見なされます。
 XML
 @attribute identifierXML または XMLList オブジェクトの属性を識別します。
 { }braces (XML)XML または XMLList 初期化子で使用されている式を評価します。
 [ ]brackets (XML)XML または XMLList オブジェクトのプロパティまたは属性にアクセスします。
 +concatenation (XMLList)XML または XMLList 値を XMLList オブジェクトに連結 (結合) します。
 +=concatenation assignment (XMLList)XMLList オブジェクトの expression1expression1 + expression2 の値を割り当てます。
  delete (XML)reference で指定された XML エレメントまたは属性を削除します。
 ..descendant accessorXML または XMLList オブジェクトの子孫エレメントに移動します。@ 演算子と共に使用した場合は、一致する子孫の属性を検索します。
 .dot (XML)XML または XMLList オブジェクトの子エレメントに移動します。@ 演算子と共に使用した場合は、XML または XMLList オブジェクトの属性を返します。
 ( )parentheses (XML)E4X XML 構造内の式を評価します。
 < >XML literal tag delimiterXML リテラル内の XML タグを定義します。
演算子の詳細
+ addition演算子
使用法
expression1 + expression2

数値式を加算します。両方の式が整数の場合、合計は整数になります。いずれかの式または両方の式が浮動小数点数の場合、合計は浮動小数点数になります。

1 つの式がストリングの場合、他の式はすべてストリングに変換され、加算の代わりに連結されます。式がストリングでも数値でもない場合は、Flash® Player により数値に変換されます。

オペランド
expression1:Number — 加算される値。
expression2:Number — 加算される値。

結果
Number — 整数または浮動小数点数。


このステートメントは、整数の 2 と 3 を加算します。
trace(2 + 3); // 5
次のステートメントは、浮動小数点数の 2.5 と 3.25 を加算します。
trace(2.5 + 3.25); // 5.75
次の例は、1 つの式がストリングの場合、その他のすべての式がストリングに変換され、連結されることを示しています。
trace("Number " + 8 + 0); // Number 80
動的フィールドおよびテキスト入力フィールドに関連付けられた変数のデータ型は String です。次の例では、変数 deposit はステージのテキスト入力フィールドです。ユーザーが預金額を入力すると、スクリプトは depositoldBalance に加算しようとします。ただし、deposit は String 型であるため、スクリプトは変数の値を合計せずに値を連結 (結合して 1 つのストリングを構成) します。
var oldBalance:Number = 1345.23; 
var currentBalance = deposit_txt.text + oldBalance; 
trace(currentBalance); 
たとえば、ユーザーが預金テキストフィールドに「475」と入力すると、trace() ステートメントは値 4751345.23 を [出力] パネルに表示します。これを修正するには、次に示すように Number() 関数を使用してストリングを数値に変換します。
var oldBalance:Number = 1345.23; 
var currentBalance:Number = Number(deposit_txt.text) + oldBalance;
trace(currentBalance);

関連項目

+= addition assignment演算子 
使用法
expression1 += expression2

expression1 expression1 + expression2 の値を割り当てます。たとえば、次の 2 つのステートメントは同じ結果になります。

x += y; 
x = x + y;
加算 (+) 演算子のすべての規則が、加算後代入 (+=) 演算子に適用されます。

オペランド
expression1:Number — 数値。
expression2:Number — 数値。

結果
Number — 加算した結果。


次に、数値に対して加算後代入 (+=) 演算子を使用する例を示します。
var x:Number = 5; 
var y:Number = 10; 
x += y; 
trace(x); // 15 

関連項目

[] array access演算子 
使用法
myArray = [a0, a1,...aN]
myArray[i] = value 
myObject[propertyName]

指定されたエレメント (a0 など) で新しい配列または多次元配列を初期化するか、配列内のエレメントにアクセスします。配列アクセス演算子を使用すると、インスタンス、変数、およびオブジェクト名を動的に設定および取得できます。この演算子を使用してオブジェクトのプロパティにアクセスすることもできます。

シンタックス 1 : 配列は、エレメントと呼ばれるプロパティを持つオブジェクトです。各エレメントはインデックスと呼ばれる番号で識別されます。配列を作成する場合は、エレメントを配列アクセス演算子 ([]) (角括弧) で囲みます。配列には、さまざまなタイプのエレメントを格納できます。たとえば、次の配列 employee には 3 つのエレメントがあります。最初のエレメントは数値、2 番目と 3 番目のエレメントはストリング (引用符内) です。

var employee:Array = [15, "Barbara", "Jay"]; 
括弧をネストすると、多次元配列をシミュレートできます。ネスト可能な配列の深さは、256 レベルまでです。次のコードでは、3 つのエレメントで構成される配列 ticTacToe を作成します。各エレメントはそれぞれが 3 つのエレメントで構成される配列になっています。
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; 
			
/* Select Debug > List Variables in test mode 
to see a list of the array elements.*/ 
シンタックス 2 : 各エレメントに直接アクセスするには、エレメントのインデックスを [] (角括弧) で囲みます。また、配列に新しいエレメントを追加したり、既存のエレメントの値を変更または取得することもできます。次の例に示すように、配列の最初のインデックスは常に 0 です。
var my_array:Array = new Array(); 
my_array[0] = 15; 
my_array[1] = "Hello"; 
my_array[2] = true; 
次の例のように角括弧を使用して 4 番目のエレメントを追加できます。
my_array[3] = "George"; 
角括弧を使用して多次元配列のエレメントにアクセスできます。最初の角括弧のセットは元の配列のエレメントを示します。2 番目のセットはネストされた配列のエレメントを示します。次の trace() ステートメントでは、2 番目の配列 (インデックス 1) の 3 番目のエレメント (インデックス 2) を検索しています。
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; 
trace(ticTacToe[1][2]); // 6 
シンタックス 3 : 配列アクセス演算子を使用して、オブジェクトのプロパティの値を動的に設定および取得できます。
var obj:Object = new Object();
obj.prop1 = "foo";
trace(obj["prop" + 1]); // foo
obj.prop2 = "bar";
for (j in obj) {
	trace(obj[j]);
} 
/* Output of for loop: 
foo
bar */

オペランド
myArray:Object — 配列の名前。
a0, a1,...aN:Object — 配列のエレメント。ネストされた配列を含む、すべてのネイティブタイプまたはオブジェクトインスタンスです。
i:Number — 0 以上の整数インデックス。
myObject:Object — オブジェクトの名前。
propertyName:String — オブジェクトのプロパティを指定するストリング。

結果
Object

シンタックス 1 : 配列への参照。

シンタックス 2 : 配列に格納されたいずれかの値。ネイティブタイプまたはオブジェクトインスタンス (Array インスタンスを含む)。

シンタックス 3 : オブジェクトのいずれかのプロパティ。ネイティブタイプまたはオブジェクトインスタンス (Array インスタンスを含む)。



次の例では、新しい空の Array オブジェクトを作成する 2 つの方法を示しています。最初の行で角括弧を使用しています。
var my_array:Array = []; 
var my_array:Array = new Array(); 

次の例では、3 つのエレメントを持つ employee_array という名前の配列を作成し、配列の 3 番目のエレメントを変更しています。

var employee_array = ["Barbara", "George", "Mary"]; 
trace(employee_array); // Barbara,George,Mary 
employee_array[2] = "Sam"; 
trace(employee_array); // Barbara,George,Sam 
次のコードでは、角括弧内の式を評価し、その結果を obj オブジェクトから取得する変数名として使用します。
var obj:Object = new Object();
obj.prop1 = "foo";
obj.prop2 = "bar";

for (var i:int = 1;i < 3;i++) {
    trace(obj["prop"+i]);
}
/* Output of for loop:
foo
bar */ 

関連項目

as演算子 
使用法
expression as datatype

最初のオペランドで指定された式が、2 番目のオペランドで指定されたデータ型のメンバーであるかどうかを評価します。最初のオペランドがそのデータ型のメンバーである場合、結果は最初のオペランドになります。それ以外の場合、結果の値は null です。

2 番目のオペランドで使用される式は、評価結果がデータ型となる必要があります。

オペランド
expression:* — 指定されたデータ型に対してチェックする値。
datatype:Classexpression オペランドの評価に使用されるデータ型。型指定がないことを表す特殊な * 型は使用できません。

結果
Objectexpressiondatatype で指定されたデータ型のメンバーである場合、結果は expression になります。それ以外の場合、結果の値は null です。


次の例では、myArray という名前の簡単な配列を作成し、as 演算子をさまざまなデータ型で使用しています。
public var myArray:Array = ["one", "two", "three"];
trace(myArray as Array);  // one,two,three
trace(myArray as Number); // null
trace(myArray as int);    // null

関連項目

= assignment演算子 
使用法
expression1 = expression2

expression2 の値 (右側のオペランド) を expression1 の変数、配列エレメント、またはプロパティに割り当てます。値による割り当てと、参照による割り当てがあります。値による割り当てでは、expression2 の実際の値がコピーされ、expression1 に格納されます。値による割り当ては、expression2 がプリミティブな値、つまりデータ型が Boolean、Number、int、uint、または String のいずれかである場合に使用されます。参照による割り当てでは、expression2 への参照が expression1 に格納されます。一般に、参照による割り当ては new 演算子と組み合わせて使用されます。new 演算子ではメモリ内にオブジェクトが作成され、そのオブジェクトが格納されたメモリ位置への参照が変数に割り当てられます。

メモ : ActionScript 3.0 では、プリミティブな値を含むすべての値がオブジェクトであり、すべての割り当ては参照によって行われますが、プリミティブなオブジェクトには特別な演算子があり、値による割り当てと同様の動作をします。

オペランド
expression1:* — 変数、配列のエレメント、またはオブジェクトのプロパティ。
expression2:* — 任意の型の値。

結果
Object — 割り当てられた値、expression2


次の例では、値による割り当てを使用して、値 5 を変数 z に割り当てています。
var z:Number = 5;
次の例では、値による割り当てを使用して、値 "hello" を変数 z に割り当てています。
var x:String;
x = "hello";
次の例では、参照による割り当てを使用して、moonsOfJupiter 変数を作成しています。この変数には、新たに作成された Array オブジェクトへの参照が格納されます。次に値による割り当てを使用し、"Callisto" という値を、変数 moonsOfJupiter で参照される配列の最初のエレメントにコピーしています。
var moonsOfJupiter:Array = new Array();
moonsOfJupiter[0] = "Callisto";
次の例では、参照による割り当てを使用して新しいオブジェクトを作成し、変数 mercury にこのオブジェクトへの参照を格納しています。次に、値による割り当てを使用して、mercury オブジェクトの diameter プロパティに値 3030 を割り当てています。
var mercury:Object = new Object();
mercury.diameter = 3030; // in miles
trace(mercury.diameter); // 3030
次の例は、上記の例の続きです。merkur (mercury のドイツ語) という変数を作成し、その変数に mercury の値を割り当てています。これにより、メモリ内の同じオブジェクトを参照する 2 つの変数が作成されました。同じオブジェクトを参照しているので、どちらの変数を使用しても、このオブジェクトのプロパティにアクセスできます。次に、マイルの代わりにキロメートルを使用するように、diameter プロパティを変更することもできます。
var merkur:Object = mercury;
merkur.diameter = 4878;  // in kilometers
trace(mercury.diameter); // 4878

関連項目

@ attribute identifier演算子 
使用法
 myXML.@attributeName 

XML または XMLList オブジェクトの属性を識別します。たとえば、myXML.@id では、myXML XML オブジェクトの id という名前の属性が識別されます。次のシンタックス myXML.attribute("id")myXML["@id"]、および myXML.@["id"] を使用して、属性にアクセスすることもできます。。推奨されるシンタックスは myXML.@id です。すべての属性名の XMLList オブジェクトを返すには、@* を使用します。ActionScript の予約語と名前が一致する属性を返すには、@ 演算子の代わりに attribute() メソッドを使用します。

オペランド
attributeName:* — 属性の名前。


最初の例では、@ (アットマーク) 演算子を使用して、エレメントの属性を識別しています。
var myXML:XML = 
    <item id = "42">
        <catalogName>Presta tube</catalogName>
        <price>3.99</price>
    </item>;

trace(myXML.@id); // 42
次の例では、すべての属性名を返しています。
var xml:XML =<example id='123' color='blue'/>
 var xml2:XMLList = xml.@*;
 trace(xml2 is XMLList); // true
 trace(xml2.length());  // 2
 for (var i:int = 0; i < xml2.length(); i++)
 { 
    trace(typeof(xml2[i]));    // xml
    trace(xml2[i].nodeKind()); // attribute
    trace(xml2[i].name());     // id and color
 } 
次の例では、ActionScript の予約語と名前が一致する属性を返しています。class は、ActionScript の予約語であるため、シンタックス xml.@class は使用できません。この場合は、シンタックス xml.attribute("class") を使用します。
var xml:XML = <example class='123'/>
trace(xml.attribute("class"));

関連項目

& bitwise AND演算子 
使用法
expression1 & expression2

expression1expression2 を 32 ビット符号なし整数に変換し、整数パラメータをビット単位で論理積 (AND) 演算します。浮動小数点数は、小数点以下が切り捨てられ、整数に変換されます。結果は、新しい 32 ビット整数です。

正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進数に変換されます。最小値より小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

結果は 32 ビットの 2 の補数として解釈されるため、-2147483648 ~ 2147483647 の範囲の整数になります。

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
int — ビット演算の結果。


次の例では、数値のビット表現を比較して、13 (2 進数の 1101) および 11 (2 進数の 1011) をビット単位で論理積 (AND) 演算しています。結果の整数はビット列で構成されます。ビット列の値は、同じ位置にある両方のオペランドのビットが 1 である場合にのみ 1 となります。
var insert:Number = 13; 
var update:Number = 11; 
trace(insert & update); // 9 (or 1001 binary) 
13 (2 進数の 1101) および 11 (2 進数の 1011) のビット単位の論理積 (AND) は、最初と最後のビットだけが両方とも 1 であるため、9 となります。
  1101
& 1011
  ----
  1001

次の例は、戻り値の変換の動作を示しています。

trace(0xFFFFFFFF); // 4294967295 
trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 
trace(0xFFFFFFFF & -1); // -1 
trace(4294967295 & -1); // -1 
trace(4294967295 & 4294967295); // -1 

関連項目

&= bitwise AND assignment演算子 
使用法
expression1 &= expression2

expression1expression1 & expression2 の値を割り当てます。たとえば、次の 2 つの式は同じです。

x &= y; 
x = x & y; 

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
intexpression1 & expression2 の値。


次の例では、x に値 9 が割り当てられます。
var x:Number = 15; 
var y:Number = 9; 
trace(x &= y); // 9 

関連項目

<< bitwise left shift演算子 
使用法
expression1 << shiftCount

expression1shiftCount を 32 ビット整数に変換し、shiftCount の変換により生成された整数で指定される桁数だけ expression1 内のすべてのビットを左にシフトします。この演算の結果として空にされるビット位置には、0 が埋められます。シフト後、左端のビットは破棄されます。値を 1 桁左にシフトすることは、2 を掛けることと同じ意味になります。

浮動小数点数は、小数点以下が切り捨てられ、整数に変換されます。正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進数に変換されます。最小値より小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

結果は 32 ビットの 2 の補数として解釈されるため、-2147483648 ~ 2147483647 の範囲の整数になります。

結果が負の整数である場合、結果を uint 型の変数に割り当てようとすると、ランタイムエラーが発生します。ActionScript には "符号なしビット単位の左シフト" 演算子はありませんが、uint(expression1 << shiftCount) を使用して同様の結果を実現し、ランタイムエラーを回避できます。

var num1:uint = 0xFF;
var num2:uint = uint(num1 << 24); // uint() prevents runtime error

オペランド
expression1:Number — 左にシフトされる数値または式。
shiftCount:Number — 0 ~ 31 の整数に変換される数値または式。

結果
int — ビット演算の結果。


次の例では、整数 1 を左に 10 ビットシフトします。
x = 1 << 10
ビット単位の左シフト演算子の結果は 1024 となります。これは、10 進数の 1 が 2 進数の 1 に等しく、2 進数の 1 を左に 10 ビットシフトすると 10000000000 となり、これを 10 進数で表すと 1024 になるためです。
00000000001 binary 
<<          10 decimal
--------------
10000000000 binary equals 1024 decimal 

次の例では、整数 7 を左に 8 ビットシフトします。

x = 7 << 8
ビット単位の左シフト演算子の結果は 1792 となります。これは、10 進数の 7 が 2 進数の 111 に等しく、2 進数の 111 を左に 10 ビットシフトすると 11100000000 となり、これを 10 進数で表すと 1792 になるためです。
00000000111 binary 
<<           8 decimal
--------------
11100000000 binary equals 1792 decimal 

次の trace ステートメントでは、ビットを左に 3 ビットシフトしています。

// 1 binary == 0001 
// 8 binary == 1000 
trace(1 << 3); // 8 

関連項目

<<= bitwise left shift and assignment演算子 
使用法
expression1 <<= expression2

ビット単位の左シフト (<<=) 演算を行い、その内容を結果として expression1 に格納します。次の 2 つの式は等価です。

A <<= B
A = (A << B)

オペランド
expression1:Number — 左にシフトされる数値または式。
expression2:Number — 0 ~ 31 の整数に変換される数値または式。

結果
int — ビット演算の結果。


次の例では、ビット単位の左シフト後代入 (<<=) 演算子を使用して、すべてのビットを 1 桁ずつ左にシフトしています。
var x:Number = 4; 
// Shift all bits one slot to the left. 
x <<= 1; 
trace(x); // 8 
// 4 decimal = 0100 binary 
// 8 decimal = 1000 binary 

関連項目

~ bitwise NOT演算子 
使用法
~expression

expression を 32 ビット符号付き整数に変更し、ビット単位で 1 の補数を適用します。つまり、0 を保持するすべてのビットは 1 に設定され、1 を保持するすべてのビットは 0 に設定されます。結果は、符号付き 32 ビット整数です。この演算子は、1 の補数演算子またはビット単位の補数演算子とも呼ばれます。

たとえば、0x7777 という 16 進数値は、2 進数では次のように表現されます。

0111011101110111

この 16 進数値をビット単位で符号反転 (~0x7777) すると、次の 2 進数になります。

1000100010001000

これは、16 進数の 0x8888 に相当します。したがって、~0x7777 は 0x8888 となります。

ビット単位演算子は、フラグビットを表現する場合に最もよく使用されます (ブール値をそれぞれ 1 ビットにパックすることができます)。

浮動小数点数は、小数点以下が切り捨てられ、整数に変換されます。正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進数に変換されます。最小値より小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

結果は 32 ビットの 2 の補数として解釈されるため、-2147483648 ~ 2147483647 の範囲の整数になります。

オペランド
expression:Number — 変換される数値。

結果
int — ビット演算の結果。


次に、フラグビットでビット単位の否定 (NOT) (~) 演算子を使用する例を示します。
var ReadOnlyFlag:int = 0x0001; // defines bit 0 as the read-only flag 
var flags:int = 0; 
trace(flags); 
/* To set the read-only flag in the flags variable, 
   the following code uses the bitwise OR: 
*/
flags |= ReadOnlyFlag; 
trace(flags); 
/* To clear the read-only flag in the flags variable, 
   first construct a mask by using bitwise NOT on ReadOnlyFlag. 
   In the mask, every bit is a 1 except for the read-only flag. 
   Then, use bitwise AND with the mask to clear the read-only flag. 
   The following code constructs the mask and performs the bitwise AND: 
*/ 
flags &= ~ReadOnlyFlag; 
trace(flags); 
// 0 1 0 

関連項目

| bitwise OR演算子 
使用法
expression1 | expression2

expression1expression2 を 32 ビット符号なし整数に変換し、expression1expression2 の対応ビットの少なくとも一方が 1 である各ビット位置に 1 を設定します。

浮動小数点数は、小数点以下が切り捨てられ、整数に変換されます。正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進数に変換されます。最小値より小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

結果は 32 ビットの 2 の補数として解釈されるため、-2147483648 ~ 2147483647 の範囲の整数になります。

オペランド
expression1:Number — 数値。
expression2:Number — 数値。

結果
int — ビット演算の結果。


次に、ビット単位の論理和 (OR) (|) 演算の例を示します。
// 15 decimal = 1111 binary 
var a:Number = 15; 
// 9 decimal = 1001 binary 
var b:Number = 9; 
// 1111 | 1001 = 1111 
trace(a | b); // returns 15 decimal (1111 binary) 
ビット単位の論理和 (|) と通常の論理和 (||) を混同しないようにしてください。

関連項目

|= bitwise OR assignment演算子 
使用法
expression1 |= expression2

expression1expression1 | expression2 の値を割り当てます。たとえば、次の 2 つのステートメントは同じです。

x |= y;
x = x | y; 

オペランド
expression1:Number — 変換される数値。
expression2:Number — 変換される数値。

結果
int — ビット演算の結果。


次にビット単位の排他的論理和 (OR) 代入 (|=) 演算子の使用例を示します。
// 15 decimal = 1111 binary 
var a:Number = 15; 
// 9 decimal = 1001 binary 
var b:Number = 9; 
// 1111 |= 1001 = 1111 
trace(a |= b); // returns 15 decimal (1111 binary) 

関連項目

>> bitwise right shift演算子 
使用法
expression >> shiftCount

expressionshiftCount を 32 ビット整数に変換し、shiftCount の変換により生成された整数で指定される桁数だけ expression 内のすべてのビットを右にシフトします。シフト後、右端のビットは破棄されます。元の式の符号を保持するには、expression の最上位ビット (左端のビット) が 0 である場合は左側のビットに 0 を置き、最上位ビットが 1 である場合は 1 を置きます。値を右に 1 つシフトすることは、2 で割って剰余を切り捨てることと同じです。

浮動小数点数は、小数点以下が切り捨てられ、整数に変換されます。正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進数に変換されます。最小値より小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

結果は 32 ビットの 2 の補数として解釈されるため、-2147483648 ~ 2147483647 の範囲の整数になります。

オペランド
expression:Number — 右にシフトされる数値または式。
shiftCount:Number — 0 ~ 31 の整数に変換される数値または式。

結果
int — ビット演算の結果。


次の例では、65535 を 32 ビット整数に変換し、右側に 8 ビットシフトします。結果は 10 進数の 255 です。
var a:Number = 65535 >> 8; 
trace(a); // 255
これは、10 進数の 65535 が 2 進数の 00000000000000001111111111111111 (16 個の 0 と 16 個の 1) に等しく、右に 8 ビットシフトすると、最下位の 8 ビット (右端のビット) が切り捨てられるためです。65535 は正であるため、シフトによって空いたビット位置 (左端の 8 ビット) は 0 で埋められます。結果は 2 進数の 00000000000000000000000011111111 (24 個の 0 と 8 個の 1) で、32 ビットの整数 255 になります。
00000000000000001111111111111111 binary (65535 decimal)
>>                                 8 decimal
--------------------
00000000000000000000000011111111 binary (255 decimal)
次の例では、-8 を 32 ビット整数に変換し、右側に 1 ビットシフトしています。結果は 10 進数の -4 です。
var a:Number = -8 >> 1;
trace(a); // -4
これは、10 進数の -8 が 2 進数の 11111111111111111111111111111000 (29 個の 1 と 3 個の 0) に等しく、右に 1 ビットシフトすると、最下位のビット (右端のビット) が切り捨てられるためです。-8 は負であるため、シフトによって空いたビット位置 (左端の 1 ビット) は1 で埋められます。結果は 2 進数の 11111111111111111111111111111100 (30 個の 1 と 2 個の 0) で、32 ビットの整数 -4 になります。
11111111111111111111111111111000 binary (-8 decimal)
>>                                1 decimal
--------------------
11111111111111111111111111111100 binary (-4 decimal)

関連項目

>>= bitwise right shift and assignment演算子 
使用法
expression >>= shiftCount

ビット単位の右シフト演算を行い、結果を expression に格納します。

次の 2 つのステートメントは等価です。

A >>= B; 
A = (A >> B);

オペランド
expression:Number — 右にシフトされる数値または式。
shiftCount:Number — 0 ~ 31 の整数に変換される数値または式。

結果
int — ビット演算の結果。


次のコードは、ビット単位の右シフト後代入 (>>=) 演算子の使用例です。
function convertToBinary(numberToConvert:Number):String { 
    var result:String = ""; 
    for (var i = 0; i < 32; i++) { 
        // Extract least significant bit using bitwise AND. 
        var lsb:Number = numberToConvert & 1; 
        // Add this bit to the result.
        result = (lsb ? "1" : "0")+result; 
        // Shift numberToConvert right by one bit, to see next bit. 
        numberToConvert >>= 1; 
    } 
    return result; 
} 
trace(convertToBinary(479)); 
// Returns the string 00000000000000000000000111011111. 
// This string is the binary representation of the decimal number 479.

関連項目

>>> bitwise unsigned right shift演算子 
使用法
expression >>> shiftCount

左側のビットは常に 0 で埋められるため、元の式の符号が保持されないという点を除いて、ビット単位の右シフト (>>) 演算子と同じです。

浮動小数点数は、小数点以下が切り捨てられ、整数に変換されます。正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進数に変換されます。最小値より小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

結果は 32 ビットの符号なし整数として解釈されるため、0 ~ 4294967295 の範囲の整数になります。

メモ : ActionScript には補完的な "ビット単位の符号なし左シフト" 演算子はありませんが、uint(expression << shiftCount) を使用して同様の結果を実現することができます。

オペランド
expression:Number — 右にシフトされる数値または式。
shiftCount:Number — 0 ~ 31 の整数に変換される数値または式。

結果
uint — ビット演算の結果。


次の例では、-1 を 32 ビット整数に変換し、右側に 1 ビットシフトします。
var a:Number = -1 >>> 1; 
trace(a); // 2147483647 
これは、10 進数の -1 が 2 進数の 11111111111111111111111111111111 (1 が 32 個) であり、右に符号なしで 1 ビットシフトすると最下位 (右端) ビットが切り捨てられ、最上位 (左端) ビットが 0 で埋められるためです。結果は 2 進数の 01111111111111111111111111111111 で、32 ビット整数の 2147483647 になります。

関連項目

>>>= bitwise unsigned right shift and assignment演算子 
使用法
expression >>>= shiftCount

ビット単位の符号なし右シフト演算を行い、結果を expression に格納します。次の 2 つのステートメントは等価です。

A >>>= B; 
A = (A >>> B); 

オペランド
expression:Number — 右にシフトされる数値または式。
shiftCount:Number — 0 ~ 31 の整数に変換される数値または式。

結果
uint — ビット演算の結果。


次の例では、-1 を 32 ビット整数に変換し、右側に 1 ビットシフトします。
var a:Number = -1;
a >>>= 1; 
trace(a); // 2147483647 
これは、10 進数の -1 が 2 進数の 11111111111111111111111111111111 (1 が 32 個) であり、右に符号なしで 1 ビットシフトすると最下位 (右端) ビットが切り捨てられ、最上位 (左端) ビットが 0 で埋められるためです。結果は 2 進数の 01111111111111111111111111111111 で、32 ビット整数の 2147483647 になります。

関連項目

^ bitwise XOR演算子 
使用法
expression1 ^ expression2

expression1expression2 を 32 ビット符号なし整数に変換し、expression1expression2 の対応ビットのいずれか一方のみが 1 である各ビット位置に 1 を設定します。

浮動小数点数は、小数点以下が切り捨てられ、整数に変換されます。正の整数は 4294967295 (0xFFFFFFFF) を最大値とする符号なし 16 進数に変換されます。最大値より大きい値は、32 ビットを超えないように、変換時に最上位の桁が切り捨てられます。負の値は、2 の補数表現を使用して、-2147483648 (0x800000000) を最小値とする符号なし 16 進数に変換されます。最小値より小さい値は、さらに高い精度で 2 の補数に変換された上で、最上位の桁が切り捨てられます。

結果は 32 ビットの 2 の補数として解釈されるため、-2147483648 ~ 2147483647 の範囲の整数になります。

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
int — ビット演算の結果。


次の例では、ビット単位の排他的論理和 (XOR) 演算子を 10 進数である 15 および 9 に適用し、その結果を変数 a に割り当てます。
// 15 decimal = 1111 binary 
// 9 decimal = 1001 binary 
var a:Number = 15 ^ 9; 
trace(a); 
// 1111 ^ 1001 = 0110 
// returns 6 decimal (0110 binary) 

関連項目

^= bitwise XOR assignment演算子 
使用法
expression1 ^= expression2

expression1 expression1 ^ expression2 の値を割り当てます。たとえば、次の 2 つのステートメントは同じです。

x ^= y 
x = x ^ y 

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
int — ビット演算の結果。


次の例は、ビット単位の排他的論理和 (XOR) (^=) 演算です。
// 15 decimal = 1111 binary 
var a:Number = 15; 
// 9 decimal = 1001 binary 
var b:Number = 9; 
trace(a ^= b); // returns 6 decimal (0110 binary) 

関連項目

/*..*/ block comment delimiter演算子 
使用法
/* comment */
/* comment
   comment */

スクリプトコメントのブロックを区切ります。開始区切り記号 (/*) と終了区切り記号 (*/) の間の文字はコメントと解釈され、ActionScript コンパイラでは無視されます。コメントが連続した複数行の場合はこれらの区切り記号を使用し、1 行の場合は // の区切り記号を使用します。

終了ブロックコメント区切り記号 (*/) が抜けている場合や、コメントをネストしようとした場合は、エラーメッセージが表示されます。開始区切り記号 (/*) の後に開始区切り記号が何個ある場合でも、最初の終了区切り記号 (*/) でコメントの終わりと見なされます。

オペランド
comment:* — 任意の文字。


次のスクリプトでは、スクリプトの先頭にブロックコメント区切り記号を使用しています。
/* records the X and Y positions of 
the ball and bat movie clips */ 
var ballX:Number = ball_mc._x; 
var ballY:Number = ball_mc._y; 
var batX:Number = bat_mc._x; 
var batY:Number = bat_mc._y; 
次のように、コメントをネストしようとすると、エラーメッセージが表示されます。
/* This is an attempt to nest comments. 
/* But the first closing tag will be paired 
with the first opening tag */ 
and this text will not be interpreted as a comment */ 

関連項目

{ } braces (XML)演算子 
使用法
 myXML = <{tagName} {attributeName} = {attributeValue}>{content}</{tagName}>

XML または XMLList 初期化子で使用されている式を評価します。XML または XMLList 初期化子は、XML または XMLList 型の変数に割り当てられるリテラル値です。XML { および } 演算子で区切られる式は、XML または XMLList 初期化子でリテラルの名前または値の代わりに使用できます。式は、tagNameattributeNameattributeValue、および content の代わりに使用できます。

オペランド
myXML:* — XML または XMLList オブジェクト。
tagName:* — 評価結果が XML タグの名前になる式。
attributeName:* — 評価結果が XML 属性の名前になる式。
attributeValue:* — 評価結果が XML 属性の値になる式。
content:* — 評価結果が XML タグの内容になる式。


次の例では、XML リテラルの定義に { および } 演算子を使用しています。
var tagname:String = "item"; 
var attributename:String = "id"; 
var attributevalue:String = "5"; 
var content:String = "Chicken"; 
var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>; 
trace(x.toXMLString()); // <item id="5">Chicken</item>

関連項目

[ ] brackets (XML)演算子 
使用法
 myXML[expression]

XML または XMLList オブジェクトのプロパティまたは属性にアクセスします。括弧演算子を使用すると、ドット (.) 演算子でアクセスできないプロパティ名にアクセスできます。

オペランド
myXML:* — XML または XMLList オブジェクト。
expression:* — 評価結果が XML タグまたは属性の名前になる式。


次の例では、[ および ] 演算子を使用して、XML プロパティにアクセスしています。 これらのプロパティは、タグ名にハイフンが含まれているため、ドット演算子ではアクセスできません。
var myXML:XML = <a><foo-bar>44</foo-bar></a>;
trace(myXML["foo-bar"]);

関連項目

, comma演算子 
使用法
(expression1, expression2[, expressionN... ])

expression1、式 expression2、... の順に評価します。通常、この演算子は for ループステートメントで使用します。括弧 () 演算子と組み合わせて使用することもあります。

オペランド
expression1:* — 評価される式。
expression2:* — 評価される式。
expressionN:* — 上記に加えて評価される任意の個数の式。

結果
Object — 評価される式の値。


次の例では、for ループでカンマ (,) 演算子を使用しています。
for (i = 0, j = 0; i < 3 && j < 3; i++, j+=2) { 
    trace("i = " + i + ", j = " + j); 
} 
// output: 
// i = 0, j = 0 
// i = 1, j = 2
次の例では、カンマ演算子を括弧演算子なしで使用し、カンマ演算子が代入 (=) 演算子より優先順位が低いことを示しています。
var v:Number = 0; 
v = 4, 5, 6; 
trace(v); // 4 
次の例では、カンマ演算子を括弧と共に使用し、カンマ演算子が最後の式の値を返すことを示しています。
var v:Number = 0; 
v = (4, 5, 6); 
trace(v); // 6 
次の例では、カンマ演算子を括弧なしで使用し、カンマ演算子によりすべての式が順番に評価されることを示しています。代入 (=) 演算子はカンマ演算子より優先順位が高いため、最初の式 v + 4 は変数 v に割り当てられます。2 番目の式 z++ では、z に 1 を加えています。
var v:Number = 0; 
var z:Number = 0; 
v = v + 4 , z++, v + 6; 
trace(v); // 4 
trace(z); // 1 
次の例は、括弧が追加されている以外は前の例と同じです。括弧の追加により演算の順序が変わり、カンマ演算子が代入 (=) 演算子より先に評価されます。
var v:Number = 0; 
var z:Number = 0; 
v = (v + 4, z++, v + 6); 
trace(v); // 6 
trace(z); // 1 

関連項目

+ concatenation演算子 
使用法
expression1 + expression2

ストリングを連結 (結合) します。ある式がストリングの場合、他の式はすべてストリングに変換され、連結されます。

両方の式が数値である場合、この演算子は加算演算子として動作します。

オペランド
expression1:String — 連結されるストリング。
expression2:String — 連結されるストリング。

結果
String — 連結されたストリング。


次の例では、2 つのストリングを連結します。
var lastName:String = "Cola"; 
var instrument:String = "Drums"; 
trace(lastName + " plays " + instrument); // Cola plays Drums 
次の例は、1 つの式がストリングの場合、その他のすべての式がストリングに変換され、連結されることを示しています。
trace("Number " + 8 + 0); // Number 80
次の例は、ストリング式の右側にある数値がストリングに変換されるため、数値の合計が計算されないことを示しています。
var a:String = 3 + 10 + "asdf"; 
trace(a); // 13asdf 
var b:String = "asdf" + 3 + 10; 
trace(b); // asdf310 

関連項目

+ concatenation (XMLList)演算子 
使用法
expression1 + expression2

XML または XMLList 値を XMLList オブジェクトに連結 (結合) します。両方のオペランドが XML または XMLList 値の場合のみ、結果が XMLList オブジェクトになります。

オペランド
expression1:* — XML または XMLList 値。
expression2:* — XML または XMLList 値。

結果
XMLList — 連結された XMLList オブジェクト。


次に、XMLList (+) (連結) 演算子の使用例を示します。
var x1:XML = 
        <employee id = "42">
            <firstName>Joe</firstName>
            <lastName>Smith</lastName>
        </employee>;

var x2:XML = 
        <employee id = "43">
            <firstName>Susan</firstName>
            <lastName>Jones</lastName>
        </employee>;

var myXMLList:XMLList = x1 + x2;
    
trace(myXMLList.toXMLString()); 

trace ステートメントの出力は次のようになります。

<employee id = "42">
    <firstName>Joe</firstName>
    <lastName>Smith</lastName>
</employee>
<employee id = "43">
    <firstName>Susan</firstName>
    <lastName>Jones</lastName>
</employee>
    

関連項目

+= concatenation assignment演算子 
使用法
expression1 += expression2

expression1expression1 + expression2 の値を割り当てます。たとえば、次の 2 つのステートメントは同じ結果になります。

x += y; 
x = x + y;
連結 (+) 演算子のすべての規則が、連結後代入 (+=) 演算子に適用されます。

オペランド
expression1:String — ストリング。
expression2:String — ストリング。

結果
Number — 連結した結果。


次の例では、+= 演算子をストリング式で使用しています。
var x1:String = "My name is "; 
x1 += "Gilbert"; 
trace(x1); // My name is Gilbert 

関連項目

+= concatenation assignment (XMLList)演算子 
使用法
expression1 += expression2

XMLList オブジェクトの expression1expression1 + expression2 の値を割り当てます。たとえば、次の 2 つのステートメントは同じ結果になります。

x += y; 
x = x + y;
XMLList 連結 (+) 演算子のすべての規則が、XMLList 連結後代入 (+=) 演算子に適用されます。

オペランド
expression1:XMLList — 新しい値を加算する XMLList オブジェクト。
expression2:* — XML または XMLList 値。


次に、XMLList 連結後代入 (+=) 演算子の使用例を示します。
var x1:XML = <location>Athens</location>;    
var x2:XML = <location>Paris</location>;        
myXMLList = x1 + x2;

var x3:XML = <location>Springfield</location>;
myXMLList += x3;
            
trace(myXMLList.toXMLString());

trace ステートメントの出力は次のようになります。

<location>Athens</location>
    
<location>Paris</location>    

<location>Springfield</location>

関連項目

?: conditional演算子 
使用法
expression1 ? expression2 :expression3

expression1 を評価し、expression1 の値が true である場合、結果は expression2 の値となり、そうでない場合は expression3 の値となります。

オペランド
expression1:Boolean — 評価結果がブール値になる式。通常は x < 5 などの比較式です。
expression2:* — 任意の型の値。
expression3:* — 任意の型の値。

結果
*expression2 または expression3 の値。


次のステートメントでは、最初の式の評価結果が true なので、変数 x の値が変数 z に割り当てられます。
var x:Number = 5; 
var y:Number = 10; 
var z = (x < 6) ? x: y; 
trace(z); // returns 5
次に、簡単な条件ステートメントの例を示します。
var timecode:String = (new Date().getHours() < 11) ? "AM" : "PM"; 
trace(timecode); 
次のように、同じ条件ステートメントを、もう少し長く記述することもできます。
if (new Date().getHours() < 11) { 
    var timecode:String = "AM"; 
} else { 
    var timecode:String = "PM"; 
}
trace(timecode); 

関連項目

-- decrement演算子 
使用法
--expression
expression--

オペランドから 1 を減算します。オペランドは、変数、配列のエレメント、またはオブジェクトのプロパティです。プリデクリメント形式の演算子 (--expression) は、expression から 1 を減算し、結果を返します。ポストデクリメント形式の演算子 (expression--) は、expression から 1 を減算し、expression の初期値 (減算前の値) を返します。

オペランド
expression:Number — 数値、または評価結果が数値になる変数。

結果
Number — デクリメントされた値の結果。


プリデクリメント形式の演算子は、x を 2 にデクリメント (x - 1 = 2) して、結果を y として返します。
var x:Number = 3; 
var y:Number = --x; // y is equal to 2
ポストデクリメント形式の演算子は、x を 2 にデクリメント (x - 1 = 2) して、x の元の値を結果 y として返します。
var x:Number = 3; 
var y:Number = x--; // y is equal to 3
次の例は、10 から 1 までループし、各ループでカウンタ変数 i を 1 ずつ減らしています。
for (var i = 10; i > 0; i--) { 
    trace(i); 
}

関連項目

delete演算子 
使用法
 delete reference

reference によって指定されたオブジェクトプロパティを破棄します。処理後にプロパティが存在しない場合、結果は true になり、存在する場合は false になります。存在しないプロパティで呼び出された場合、delete 演算子は true を返します。

reference パラメータを削除できない場合、delete 演算子は処理できないため false を返します。固定プロパティまたは var ステートメントで宣言された変数は削除できません。固定プロパティとは、クラス定義で定義される変数またはメソッドです。

メモ : オブジェクトを削除することはできませんが、オブジェクトへのすべての参照を削除して、ガベージコレクションの対象となるオブジェクトを作成できます。最も一般的なオブジェクトへの参照は、オブジェクトを参照する変数です。これらの参照は、変数を null に設定することで削除できます。ガベージコレクションでは、参照を持たないオブジェクトがすべて削除されます。

オペランド
reference:* — 削除するプロパティの名前。

結果
Boolean — 削除に成功した場合、値は true になり、失敗した場合は false になります。


次の例では、オブジェクトのプロパティを削除します。
// create the new object "account" 
var account:Object = new Object(); 
// assign property name to the account 
account.name = "Jon"; 
// delete the property 
delete account.name; 
trace(account.name); // undefined

// delete a nonexistent property
var fooDeleted:Boolean = delete account.foo;
trace(fooDeleted); // true

次の例では、配列エレメントの値を削除していますが、length プロパティの値は変更されません。

var my_array:Array = new Array(); 
my_array[0] = "abc"; // my_array.length == 1 
my_array[1] = "def"; // my_array.length == 2 
my_array[2] = "ghi"; // my_array.length == 3 
// my_array[2] is deleted, but Array.length is not changed 
delete my_array[2]; 
trace(my_array.length); // 3 
trace(my_array); // abc,def,

関連項目

var
delete (XML)演算子 
使用法
 delete reference

reference で指定された XML エレメントまたは属性を削除します。

XMLList オペランドは、空の場合でも常に有効なオブジェクトを参照するため、XMLList オペランドと共に使用した場合、delete 演算子の結果は常に true になります。

オペランド
reference:XMLList — 削除する XML エレメントまたは属性を指定する XMLList オブジェクト。

結果
Boolean — 削除に成功した場合、値は true になり、失敗した場合は false になります。


次の例では、1 つの属性、1 つのエレメント、複数のエレメントを順に削除しています。
 
var x1:XML = <x1>
                <a id = "52">AYY</a>
                <a>AYY 2 </a>
                <b>BEE</b>
                <c>CEE</c>
            </x1>;

trace(x1.toXMLString());
trace("___________");

delete x1.a.@id;

trace(x1.toXMLString());
trace("___________");

delete x1.b;

trace(x1.toXMLString());
trace("___________");

delete x1.a;

trace(x1.toXMLString());

出力は次のようになります。

<x1>
  <a id="52">AYY</a>
  <a>AYY 2</a>
  <b>BEE</b>
  <c>CEE</c>
</x1>
___________
<x1>
  <a>AYY</a>
  <a>AYY 2</a>
  <b>BEE</b>
  <c>CEE</c>
</x1>
___________
<x1>
  <a>AYY</a>
  <a>AYY 2</a>
  <c>CEE</c>
</x1>
___________
<x1>
  <c>CEE</c>
</x1>

次の例では、エレメント自体は削除せず、エレメントのすべての内容 (属性および子エレメントを含む) を削除しています。
 
var xml:XML = 
            <order>
                <item id="121">hamburger</item>
                <item id="122">fries</item>
                <item id="123">chocolate shake</item>
            </order>;
delete xml.item[1].*;
delete xml.item[1].@*;
trace(xml);

この例の出力は次のようになります。

<order>
  <tem id="121">hamburger</item>
  <item/>
  <item id="123">chocolate shake</item>
</order>

.. descendant accessor演算子 
使用法
 myXML..childElement1..@attributeName 

XML または XMLList オブジェクトの子孫エレメントに移動します。@ 演算子と共に使用した場合は、一致する子孫の属性を検索します。検索されるエレメントや属性は、XML または XMLList オブジェクトの直接の子だけでなく、孫などのツリー内の下位の階層も対象となります。複数の子エレメントまたは属性が一致する可能性があるため、結果は XMLList オブジェクトになります。

XMLList オブジェクト内のノードは、深さ優先探索の結果順に返されます。次に例を示します。

var myXML:XML = <a>
			<b>one
				<c> 
					<b>two</b> 
				</c> 
			</b>
			<b>three</b>
		</a>;

trace(myXML..b[0].toXMLString());
trace("______________");
trace(myXML..b[1].toXMLString());
trace("______________");
trace(myXML..b[2].toXMLString());

結果は次のように出力されます。

<b>
  one
  <c>
    <b>two</b>
  </c>
</b>
______________
<b>two</b>
______________
<b>three</b>

ActionScript の予約語と名前が一致する子孫を返すには、次の例で示すように、子孫 (..) 演算子の代わりに XML.descendants() メソッドを使用します。

var xml:XML = 
<enrollees>
	<student id="239">
		<class name="Algebra" />
 		<class name="Spanish 2"/>
	</student>
	<student id="206">
		<class name="Trigonometry" />
 		<class name="Spanish 2" />
	</student>
 </enrollees>;
 trace(xml.descendants("class")); 
 

オペランド
myXML:Object — XML または XMLList オブジェクト。
childElement1_or_attributeName — XML プロパティの名前または属性の名前。


次の例では、子孫アクセサ (..) 演算子を使用して、XML オブジェクトの子孫エレメントとエレメントの属性を返しています。
var myXML:XML = 
    <employees>
        <employee id = "42">
            <firstName>Billy</firstName>
            <lastName>Einstein</lastName>
        </employee>
        <employee id = "43">
            <firstName>Sally</firstName>
            <lastName>Shostakovich</lastName>
        </employee>
    </employees>
    
trace(myXML..firstName); 
    // <firstName>Billy</firstName>
    // <firstName>Sally</firstName>
                
trace(myXML..@id); //4243

関連項目

/ division演算子 
使用法
expression1 / expression2

expression1expression2 で除算します。除算演算の結果は倍精度の浮動小数点数です。

オペランド
expression:Number — 数値、または評価結果が数値になる変数。

結果
Number — 浮動小数点数の演算結果。


次の例は、被除数が正、負、または 0 の場合に、0 による除算結果が異なることを示しています。
trace(3/0);   // Infinity
trace(-3/0);  // -Infinity
trace(0/0);   // NaN

関連項目

/= division assignment演算子 
使用法
expression1 /= expression2

expression1 expression1 / expression2 の値を割り当てます。たとえば、次の 2 つのステートメントは同じです。

x /= y; 
x = x / y;

オペランド
expression1:Number — 数値、または評価結果が数値になる変数。
expression2:Number — 数値、または評価結果が数値になる変数。

結果
Number — 数値。


次に、除算後代入 (/=) 演算子で変数および数値を使用したコードを示します。
var a:Number = 10; 
var b:Number = 2; 
a /= b; trace(a); // 5 

関連項目

. dot演算子 
使用法
object.property_or_method

クラス変数およびメソッドにアクセスし、オブジェクトプロパティの取得および設定を行い、読み込まれたパッケージまたはクラスを区切ります。

オペランド
object:Object — クラスのインスタンス。オブジェクトには、ActionScript の任意のビルトインクラス、または独自に定義したクラスのインスタンスを指定できます。このオペランドは、常にドット (.) 演算子の左側で使用します。
property_or_method:* — オブジェクトに関連するプロパティまたはメソッドの名前。ビルトインオブジェクトの有効なメソッドとプロパティは、そのクラスのメソッドとプロパティの一覧表に示されています。このオペランドは、常にドット (.) 演算子の右側で使用します。

結果
* — ドットの右側に指定された変数、メソッド、またはプロパティ。


次の例では、Timer クラスを読み込む際の区切りにドット演算子を使用しています。
import flash.utils.Timer;
次の例では、汎用オブジェクトを作成し、ドット演算子を使用して新しいプロパティを追加しています。
var obj:Object = new Object();
obj.propertyA = "hello";
trace(obj.propertyA);  // hello

関連項目

. dot (XML)演算子 
使用法
myXML.childElement
myXML.@attributeName 

XML または XMLList オブジェクトの子エレメントに移動します。@ 演算子と共に使用した場合は、XML または XMLList オブジェクトの属性を返します。複数の子エレメントまたは属性が一致する可能性があるため、返されるオブジェクトは XMLList になります。

ActionScript の予約語と名前が一致するエレメントを返すには、次の例で示すように、XML ドット (.) 演算子の代わりに XML.elements() メソッドまたは XML.descendants() メソッドを使用します。

var xml:XML = 
	<student id="206">
		<class name="Trigonometry" />
		<class name="Spanish 2" />
	</student>;
trace(xml.elements("class"));
trace(xml.descendants("class")); 

オペランド
myXML:Object — XML または XMLList オブジェクト。
childElement:* — XML プロパティの名前。
attributeName:* — 属性の名前。

結果
XMLList — 指定された XMLList。


次の例では、ドット (.) 演算子を使用して、XML オブジェクトの子エレメントに戻り、エレメントの属性を返しています。
var myXML:XML = 
    <employee id = "42">
        <firstName>Billy</firstName>
        <lastName>Einstein</lastName>
    </employee>;

trace(myXML.firstName); // Billy
trace(myXML.@id);       // 42

関連項目

== equality演算子 
使用法
expression1 == expression2

2 つの式の等価性をテストします。式が等しい場合、結果は true です。

2 つのオペランドのデータ型が一致する場合、等価の定義はオペランドのデータ型によって決まります。

オペランドのデータ型が一致しない場合は、次の場合を除き、結果は false になります。

オペランド
expression1:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または式。
expression2:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または式。

結果
Boolean — 式が等しい場合、値は true になり、等しくない場合は false になります。


次の例では、if ステートメントで等価 (==) 演算子を使用します。
var a:String = "David"
var b:String = "David"; 
if (a == b) { 
    trace("David is David"); 
} 
次の例は、値を比較するときに等価演算子でどのように自動型変換が行われるかを示しています。ストリング値は数値に変換されます。
var a:Number = 5; 
var b:String = "5"; 
trace(a == b); // true
ブール値は数値に変換されます。true は 1 に、false は 0 に変換されます。
var c:Number = 1; 
var d:Boolean = true; 
trace(c == d); // true
var e:Number = 0; 
var f:Boolean = false; 
trace(e == f); // true
ただし、ストリング値はブール値に変換されないため、次のコードでは false が返されます。
var g:String = "true";
var h:Boolean = true;
trace(g == h); // false
次に参照による比較の例を示します。1 番目の例では、長さとエレメントの同じ 2 つの配列を比較しています。この 2 つの配列に対し、等価演算子は false を返します。これらの配列は一見、同じように見えますが、参照による比較で等価と見なされるためには、firstArray および secondArray の両方が同じ配列を参照していることが必要です。2 番目の例では、firstArray と同じ配列を参照する thirdArray 変数を作成しています。この 2 つの配列に対しては、等価演算子が true を返します。2 つの変数が同じ配列を参照しているからです。
var firstArray:Array = new Array("one", "two", "three"); 
var secondArray:Array = new Array("one", "two", "three"); 
trace(firstArray == secondArray); // false 
/* Arrays are only considered equal 
if the variables refer to the same array. */
var thirdArray:Array = firstArray; 
trace(firstArray == thirdArray); // true 

関連項目

> greater than演算子 
使用法
expression1 > expression2

2 つの式を比較し、expression1expression2 より大きいかどうかを判定します。大きい場合、結果は true になります。expression1expression2 より小さいか等しい場合、結果は false になります。

両方のオペランドが String 型である場合、オペランドはアルファベット順で大文字、小文字の順に比較されます。それ以外の場合、オペランドは数値に変換されてから比較されます。

オペランド
expression1:Object — ストリング、整数、または浮動小数点数。
expression2:Object — ストリング、整数、または浮動小数点数。

結果
Booleanexpression1expression2 より大きい場合は true の値となり、それ以外の場合は false となります。


次の例では、ストリングがアルファベット順で大文字、小文字の順に比較されます。
var a:String = "first";
var b:String = "First";
trace(a > b); // true
次の例では、ストリング値およびブール値が数値に変換されます。
var c:Number = 5;
var d:String = "4";
trace(c > d); // true

var e: Number = 2;
var f:Boolean = true;
trace(e > f); // true

>= greater than or equal to演算子 
使用法
expression1 >= expression2

2 つの式を比較し、expression1expression2 より大きいか等しい (true)、または expression1expression2 より小さい (false) かどうかを判定します。

オペランド
expression1:Object — ストリング、整数、または浮動小数点数。
expression2:Object — ストリング、整数、または浮動小数点数。

結果
Booleanexpression1expression2 より大きいか等しい場合、true の値となり、それ以外の場合は false となります。


次の例では、より大きいか等しい (>=) 演算子を使用して、現在の時刻 (時) が 12 以上であるかどうかを判定しています。
if (new Date().getHours() >= 12) { 
    trace("good afternoon"); 
} else { 
    trace("good morning"); 
}

関連項目

in演算子 
使用法
expression1 in expression2

プロパティが特定のオブジェクトの一部であるかどうかを評価します。in 演算子を使用するには、最初のオペランドとしてプロパティ名を指定し、2 番目のオペランドとしてオブジェクトを指定します。指定したオブジェクトに該当のプロパティが含まれている場合、結果は true になります。それ以外の場合、結果は false になります。

指定したオブジェクトが Array オブジェクトである場合、in 演算子を使用して特定のインデックス番号が有効であるかどうかをチェックできます。最初のオペランドとして整数を渡す場合、インデックスが有効なインデックス番号の範囲内にあれば結果は true になり、そうでない場合は false になります。

結果
Booleanexpression1expression2 で表されるオブジェクトのプロパティである場合は true の値になり、そうでない場合は false になります。


次の例では、in 演算子を使用し、PI が Math オブジェクトのプロパティであり、myProperty はそうでないことを示しています。
trace("PI" in Math);         // true
trace("myProperty" in Math); // false

次の例では、in 演算子を使用し、数値 0、1、および 2 が myArray オブジェクトの有効なインデックス番号であり、3 はそうでないことを示しています。

public var myArray:Array = ["zero", "one", "two"];
trace(0 in myArray); // true
trace(1 in myArray); // true
trace(2 in myArray); // true
trace(3 in myArray); // false

関連項目

++ increment演算子 
使用法
++expression
 expression++

式に 1 を加算します。式は、変数、配列のエレメント、またはオブジェクトのプロパティです。プリインクリメント形式の演算子 (++expression) は、 expression に 1 を加算し、結果を返します。ポストインクリメント形式の演算子 (expression++) は、expression に 1 を加算し、expression の初期値 (加算前の値) を返します。

オペランド
expression:Number — 数値、または評価結果が数値になる変数。

結果
Number — インクリメントした結果。


次の例では、while ループで ++ をプリインクリメント演算子として使用し、インクリメントされた値を配列に加算しています。
var preInc:Array = new Array(); 
var i:int = 0; 
while (i < 10) { 
    preInc.push(++i); 
} 
trace(preInc); // 1,2,3,4,5,6,7,8,9,10 
次の例では、while ループで ++ をポストインクリメント演算子として使用し、初期値を配列に加算しています。
 
var postInc:Array = new Array(); 
var i:int = 0; 
while (i < 10) { 
   postInc.push(i++); 
} 
trace(postInc); // 0,1,2,3,4,5,6,7,8,9 
次の例では、++ をポストインクリメント演算子として使用し、while ループを 5 回実行しています。
var i:int = 0; 
while (i++ < 5) { 
    trace("this is execution " + i); 
} 
/* output: 
   this is execution 1 
   this is execution 2 
   this is execution 3 
   this is execution 4 
   this is execution 5 
*/

関連項目

!= inequality演算子 
使用法
expression1 != expression2

等価 (==) 演算子の正反対が真であるかどうかをテストします。expression1expression2 に等しい場合、結果は false になります。等価 (==) 演算子の場合と同様に、等価の定義は比較するデータ型により異なります。

2 つのオペランドのデータ型が一致する場合、等価の定義はオペランドのデータ型によって決まります。

オペランドのデータ型が一致しない場合は、次の場合を除き、不等価演算子 (!=) により true が返されます。

オペランド
expression1:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。
expression2:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。

結果
Boolean — 式が等しくない場合は true の値になり、等しい場合は false になります。


次の例では、不等価 (!=) 演算子の結果を示します。
trace(5 != 8); // true 
trace(5 != 5); // false 
次の例では、if ステートメントでの不等価 (!=) 演算子の使い方を示します。
var a:String = "David";
var b:String = "Fool";
if (a != b) { 
    trace("David is not a fool"); 
}
次の例では、2 つの関数の参照による比較を示します。
var a:Function = function() { trace("foo"); }; 
var b:Function = function() { trace("foo"); }; 
a(); // foo 
b(); // foo 
trace(a != b); // true 
a = b; 
a(); // foo 
b(); // foo 
trace(a != b); // false
次の例では、2 つの配列の参照による比較を示します。
var a:Array = [ 1, 2, 3 ]; 
var b:Array = [ 1, 2, 3 ]; 
trace(a);      // 1,2,3 
trace(b);      // 1,2,3 
trace(a != b); // true 
a = b; 
trace(a);      // 1,2,3 
trace(b);      // 1,2,3 
trace(a != b); // false

関連項目

instanceof演算子 
使用法
expression instanceof function

式のプロトタイプチェーンに function のプロトタイプオブジェクトが含まれるかどうかを評価します。instanceof 演算子は、ECMAScript Edition 3 との後方互換性を維持するために提供されていますが、プロトタイプチェーンを使用する上級プログラマにとって役立つ場合があります。オブジェクトが特定のデータ型のメンバーであるかどうかをチェックするには、is 演算子を使用します。

メモ : ActionScript の is 演算子は、Java の instanceof 演算子と同じです。

オペランド
expression:Object — 評価するプロトタイプチェーンを含むオブジェクト。
function:Object — 関数オブジェクト (またはクラス)。

結果
Booleanexpression のプロトタイプチェーンに function のプロトタイプオブジェクトが含まれる場合は true を返し、それ以外の場合は false を返します。


次の例では、Sprite クラスのインスタンス mySprite を作成し、instanceof 演算子を使用して、mySprite のプロトタイプチェーンに Sprite クラスおよび DisplayObject クラスのプロトタイプオブジェクトが含まれるかどうかをテストします。Sprite のプロトタイプオブジェクトは mySprite のプロトタイプチェーンにあるため、Sprite クラスの結果は true になります。Sprite は DisplayObject から継承されていますが、プロトタイプチェーンを使用して継承が実装されることはなくなったため、DisplayObject クラスの結果は false になります。
var mySprite:Sprite = new Sprite();
trace(mySprite instanceof Sprite);        // true
trace(mySprite instanceof DisplayObject); // false

関連項目

is演算子 
使用法
expression1 is expression2

オブジェクトに特定のデータ型、クラス、またはインターフェイスと互換性があるかどうかを評価します。instanceof 演算子の代わりに、is 演算子を使用して型の比較を行います。is 演算子を使用して、オブジェクトにインターフェイスが実装されているかどうかをチェックすることもできます。

結果
Booleanexpression1expression2 で指定されたデータ型、クラス、またはインターフェイスと互換性がある場合は true の値になり、それ以外の場合は false になります。


次の例では、Sprite クラスのインスタンス mySprite を作成し、is 演算子を使用して mySprite が Sprite クラスおよび DisplayObject クラスのインスタンスであるかどうか、および IEventDispatcher インターフェイスを実装しているかどうかをテストします。
import flash.display.*;
import flash.events.IEventDispatcher;

var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite);           // true
trace(mySprite is DisplayObject);    // true
trace(mySprite is IEventDispatcher); // true

関連項目

< less than演算子 
使用法
expression1 < expression2

2 つの式を比較し、expression1expression2 より小さいかどうかを判定します。小さい場合、結果は true になります。expression1expression2 より大きいか等しい場合、結果は false になります。

両方のオペランドが String 型である場合、オペランドはアルファベット順で大文字、小文字の順に比較されます。それ以外の場合、オペランドは数値に変換されてから比較されます。

オペランド
expression1:Object — ストリング、整数、または浮動小数点数。
expression2:Object — ストリング、整数、または浮動小数点数。

結果
Booleanexpression1expression2 より小さい場合は true の値となり、それ以外の場合は false となります。


次に、数値とストリングの両方について truefalse が返される場合の例を示します。
trace(5 < 10); // true 
trace(2 < 2);            // false 
trace(10 < 3);           // false 
trace("Allen" < "Jack"); // true 
trace("Jack" < "Allen"); // false 
trace("11" < "3");       // true 
trace("11" < 3);         // false (numeric comparison) 
trace("C" < "abc");      // true 
trace("A" < "a");        // true 

<= less than or equal to演算子 
使用法
expression1 <= expression2

2 つの式を比較し、expression1expression2 より小さいまたは等しいかどうかを判定します。小さいか等しい場合、結果は true になります。 expression1expression2 より大きい場合、結果は false になります。

両方のオペランドが String 型である場合、オペランドはアルファベット順で大文字、小文字の順に比較されます。それ以外の場合、オペランドは数値に変換されてから比較されます。

オペランド
expression1:Object — ストリング、整数、または浮動小数点数。
expression2:Object — ストリング、整数、または浮動小数点数。

結果
Booleanexpression1expression2 より小さいか等しい場合、true の値となり、それ以外の場合は false となります。


次に、数値とストリングの両方について truefalse が返される場合の例を示します。
trace(5 <= 10); // true 
trace(2 <= 2);            // true 
trace(10 <= 3);           // false 
trace("Allen" <= "Jack"); // true 
trace("Jack" <= "Allen"); // false 
trace("11" <= "3");       // true 
trace("11" <= 3);         // false (numeric comparison) 
trace("C" <= "abc");      // true 
trace("A" <= "a");        // true 

// line comment delimiter演算子 
使用法
// comment

スクリプトコメントの先頭を示します。コメント行区切り記号 (//) と行末の間に表示される文字はコメントと解釈され、無視されます。コメントが 1 行の場合はこのコメント行区切り記号を使用し、連続した複数行の場合は /* および */ の区切り記号を使用します。

オペランド
comment:* — 任意の文字。


次に、単一行コメントの例を示します。
// Any text following a line comment delimiter is ignored during compilation

関連項目

&& logical AND演算子 
使用法
expression1 && expression2

false である場合または false に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。false に変換できる値の例としては、0、NaNnull、および undefined があります。expression2 で関数呼び出しを使用する場合、expression1 の評価結果が false であれば、関数は呼び出されません。

両方のオペランドが Boolean 型である場合、次の表に示すように、両方のオペランドが true である場合にのみ結果が true となります。

評価
true && true true
true && false false
false && false false
false && true false

オペランド
expression1:* — 任意の型の値または式。
expression2:* — 任意の型の式の値。

結果
* — 両方のオペランドが Boolean 型である場合は、ブール値となります。それ以外の場合、結果はいずれかの式の値となります。


次の例では、論理積 (AND) (&&) 演算子を使用してゲームの勝敗判定をテストしています。turns 変数と score 変数は、ゲームの回数または得点に応じて更新されます。このスクリプトでは、プレーヤーのスコアが 3 回以内に 75 以上になると、"You Win the Game!" と表示されます。
var turns:Number = 2; 
var score:Number = 77; 
if ((turns <= 3) && (score >= 75)) { 
    trace("You Win the Game!"); 
} else { 
    trace("Try Again!"); 
} 

関連項目

! logical NOT演算子 
使用法
!expression

変数や式のブール値を反転します。expression が変数で、その絶対値または変換された値が true である場合、!expression の値は false になります。式 x && y の評価が false である場合、式 !(x && y) の評価は true になります。

次の式は、論理否定 (!) 演算子を使用した結果を示しています。

!truefalse を返し、
!falsetrue を返します。

オペランド
expression:Boolean — 評価結果がブール値になる式または変数。

結果
Boolean — 論理演算結果を表すブール値。


次の例では、変数 happyfalse に設定しています。if により条件 !happy が評価され、結果が true である場合、trace() ステートメントによりストリングが出力されます。
var happy:Boolean = false; 
if (!happy) { 
    trace("don't worry, be happy"); // don't worry, be happy 
} 
!falsetrue に等しいため、trace ステートメントが実行されます。

関連項目

|| logical OR演算子 
使用法
expression1 || expression2

true である場合または true に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。expression2 で関数呼び出しを使用する場合、expression1 の評価結果が true であれば、関数は呼び出されません。

次の表に示すように、両方のオペランドが Boolean 型で、いずれかまたは両方の式が true である場合、結果は true になります。両方の式が false である場合、結果は false になります。

評価
true || true true
true || false true
false || false false
false || true true

オペランド
expression1:* — 任意の型の値。
expression2:* — 任意の型の値。

結果
* — 両方のオペランドが Boolean データ型のメンバーである場合、ブール値となります。それ以外の場合、結果は 2 つの式のいずれかの値となります。


次の例では、if ステートメントで論理和 (OR) (||) 演算子を使用しています。2 番目の式の評価結果が true なので、最終結果は true になります。
var a:Number = 10; 
var b:Number = 250; 
var start:Boolean = false; 
if ((a > 25) || (b > 200) || (start)) { 
    trace("the logical OR test passed"); // the logical OR test passed 
} 
if ステートメントの条件の 1 つが true (b > 200) なので、"the logical OR test passed" というメッセージが表示されます。

次のように、2 番目のオペランドに関数呼び出しを指定すると、予期しない結果が生じる場合があります。演算子の左側の式が true と評価された場合、右側の式は評価されずに (関数 fx2() は呼び出されずに)、左側の式の結果だけが返されます。

function fx1():Boolean { 
    trace("fx1 called"); 
    return true; 
} 
function fx2():Boolean { 
    trace("fx2 called"); 
    return true; 
} 
if (fx1() || fx2()) { 
    trace("IF statement entered");
}

関連項目

% modulo演算子 
使用法
expression1 % expression2

expression1expression2 で割ったときの剰余を計算します。いずれかのオペランドが数値でない場合は、剰余 (%) 演算子により数値への変換が試行されます。

剰余演算結果の符号は、被除数 (最初の数値) の符号と一致します。たとえば、-4 % 3-4 % -3 の評価結果は共に -1 になります。

オペランド
expression1:Number — 数値、または評価結果が数値になる式。数値のみを含むストリングの評価結果は数値になります。
expression2:Number — 数値、または評価結果が数値になる式。数値のみを含むストリングの評価結果は数値になります。

結果
Number — 算術演算の結果。


次に、数値に対して剰余 (%) 演算子を使用する例を示します。
trace(12 % 5);    // 2 
trace(4.3 % 2.1); // 0.0999999999999996 
trace(4 % 4);     // 0 
剰余 (%) 演算子は余りだけを返すため、1 つ目の trace ステートメントでは 12/5 や 2.4 ではなく 2 が返されます。ところが、2 番目の trace ステートメントでは 0.1 ではなく、0.0999999999999996 が返されます。これは 2 進数計算では浮動小数点数の精度に限度があるからです。

関連項目

%= modulo assignment演算子 
使用法
expression1 %= expression2

expression1expression1 % expression2 の値を割り当てます。次の 2 つのステートメントは等価です。

x %= y; 
x = x % y; 

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
Number — 算術演算の結果。


次の例では、値 4 を変数 a に割り当てます。
var a:Number = 14; 
var b:Number = 5; 
a %= b;
trace(a); // 4 

関連項目

* multiplication演算子 
使用法
expression1 * expression2

2 つの数値や式を乗算します。両方の式が整数であれば、その積は整数です。いずれかの式または両方の式が浮動小数点数であれば、その積は浮動小数点数になります。

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
Number — 整数または浮動小数点数。


次のステートメントでは、整数の 2 と 3 を乗算し、結果が整数の 6 となっています。
trace(2*3); // 6 
次のステートメントでは、浮動小数点数の 2.0 と 3.1416 を乗算し、結果が浮動小数点数の 6.2832 となっています。
trace(2.0 * 3.1416); // 6.2832 

関連項目

*= multiplication assignment演算子 
使用法
expression1 *= expression2

expression1 expression1 * expression2 の値を割り当てます。たとえば、次の 2 つの式は同じです。

x *= y
x = x * y 

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
Numberexpression1 * expression2 の値。式を数値に変換できない場合は、NaN (非数) を返します。


次の例では、値 50 を変数 a に割り当てます。
var a:Number = 5; 
var b:Number = 10; 
trace(a *= b); // 50 
次の例の 2 行目と 3 行目は、等号の右側の式を計算し、その結果を cd にそれぞれ割り当てます。
var i:Number = 5; 
var c:Number = 4 - 6; 
var d:Number = i + 2; 
trace(c *= d); // -14 

関連項目

:: name qualifier演算子 
使用法
namespace::property
namespace::method()
namespace::xmlObject.property
namespace::xmlObject.@attribute

プロパティ、メソッド、XML プロパティ、または XML 属性の名前空間を識別します。

オペランド
namespace:Object — 識別する名前空間。
propertyName:Object — 識別するプロパティ、メソッド、XML プロパティ、または XML 属性。


次の例では、:: 演算子を使用して、2 つの異なる名前空間にある同じ名前の 2 つのメソッドを識別しています。
public class NamespaceExample extends Sprite {
    public namespace French;
    public namespace Hawaiian;
    public function NamespaceExample() {
        trace(Hawaiian::hello()); // aloha
        trace(French::hello()); // bonjour
    }
    Hawaiian function hello():String {
        return "aloha";
    }

    French function hello():String { 
        return "bonjour";
    }
}
次の例では、:: 演算子を使用して、指定された名前空間の XML プロパティを識別しています。
var soap:Namespace = new Namespace("http://schemas.xmlsoap.org/wsdl/soap/");
var w:Namespace = new Namespace("http://weather.example.org/forecast");
var myXML:XML = 
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> 
     <soap:Body>
      <w:forecast xmlns:w="http://weather.example.org/forecast">
       <w:city>Quito</w:city>
       <w:country>Ecuador</w:country>
       <date>2006-01-14</date>
      </w:forecast>
      </soap:Body>
    </soap:Envelope>;
    
trace(myXML.soap::Body.w::forecast.w::city); // Quito

関連項目

new演算子 
使用法
new constructor(parameters)

クラスインスタンスをインスタンス化します。new 演算子をクラスまたは Class 型の変数で使用して、クラスのインスタンスを作成できます。一般的に new 演算子は、クラスのインスタンスを作成するため、クラスオブジェクトで使用します。たとえば、ステートメント new Sprite() では、Sprite クラスのインスタンスが作成されます。

new 演算子を使用して、クラスを埋め込みアセットと関連付けることもできます。埋め込みアセットとは、SWF ファイルにコンパイルされるイメージ、サウンド、フォントなどの外部オブジェクトのことです。埋め込みアセットは、それぞれ固有の埋め込みアセットクラスによって表されます。埋め込みアセットにアクセスするには、new 演算子を使用して、関連付けられたクラスをインスタンス化します。次に、埋め込みアセットクラスの該当するメソッドおよびプロパティを呼び出して、埋め込みアセットを操作します。

class キーワードではなく、Function オブジェクトによりクラスを定義する場合は、new 演算子を使用して、コンストラクタ関数に基づくオブジェクトを作成できます。コンストラクタ関数を、クラスのコンストラクタメソッドと混同しないよう注意してください。コンストラクタ関数は、function キーワードによって定義される Function オブジェクトで、クラス定義の一部ではありません。コンストラクタ関数を使用してオブジェクトを作成する場合は、クラス継承の代わりに、プロトタイプ継承を使用します。

オペランド
constructor:* — Class 型の値を保持するクラス、関数、または変数。
parameters:* — カンマで区切られたパラメータ。


次の例では、Book クラスを作成し、new 演算子を使用して book1 オブジェクトと book2 オブジェクトを作成します。
class Book {
  var bName:String;
  var bPrice:Number;
  
  public function Book(nameParam:String, priceParam:Number){
    bName = nameParam;
    bPrice = priceParam;
  }
}

var book1:Book = new Book("Confederacy of Dunces", 19.95);
var book2:Book = new Book("The Floating Opera", 10.95);
trace(book1); // [object Book]
次の例では、new 演算子を使用して、18 個のエレメントを持つ Array クラスのインスタンスを作成しています。
var golfCourse:Array = new Array(18);

関連項目

{} object initializer演算子 
使用法
object = {name1 :value1, name2 :value2,... nameN :valueN}

新しいオブジェクトを作成し、指定された namevalue のプロパティペアで初期化します。この演算子を使用することは、new Object シンタックスを使用して代入演算子でプロパティペアを設定するのと同じです。新しく作成されるオブジェクトのプロトタイプとして、汎用の Object オブジェクトがあります。

また、フローを制御するステートメント (forwhileifelseswitch) や関数で、ひとかたまりのコードブロックであることを示すときにも、この演算子が使用されます。

オペランド
object:Object — 作成するオブジェクト。
name1,2,...N:Object — プロパティの名前。
value1,2,...N:Object — 各 name プロパティに対応する値。

結果
Object — Object オブジェクト。


次のコードの 1 行目はオブジェクト初期化 ({}) 演算子を使用して空のオブジェクトを作成し、2 行目はコンストラクタ関数を使用して新しいオブジェクトを作成します。
var object:Object = {}; 
var object:Object = new Object(); 
次の例では、オブジェクト account を作成し、nameaddresscitystatezipbalance の各プロパティを対応する値で初期化します。
var account:Object = {name:"Adobe Systems, Inc.", address:"601 Townsend Street", city:"San Francisco", state:"California", zip:"94103", balance:"1000"}; 
for (i in account) { 
    trace("account."+i+" = "+account[i]); 
} 
次の例では、配列とオブジェクトの初期化演算子を相互にネストする方法を示します。
var person:Object = {name:"Gina Vechio", children:["Ruby", "Chickie", "Puppa"]}; 
次のコードでは、前の例と同じ内容を、コンストラクタ関数で生成します。
var person:Object = new Object(); 
person.name = "Gina Vechio"; 
person.children = new Array(); 
person.children[0] = "Ruby"; 
person.children[1] = "Chickie"; 
person.children[2] = "Puppa"; 

関連項目

() parentheses演算子 
使用法
(expression1 [, expression2])
(expression1, expression2)
function(parameter1,..., parameterN) 

パラメータに対してグループ化演算を実行するか、複数の式を順番に評価します。または、パラメータを囲み、引数として括弧の前の関数に渡します。

シンタックス 1 : 演算子が実行される順番を制御します。括弧は通常の優先順位を無効にし、括弧内の式を最初に評価します。括弧がネストされている場合は、最も内側の括弧から順に外側の括弧へと内容が評価されます。

シンタックス 2 : カンマ区切りの一連の式を順番に評価し、最後に実行された式の結果を返します。

シンタックス 3 : パラメータを囲み、括弧の前の関数に渡します。

オペランド
expression1:Object — 数値、ストリング、変数、またはテキストを含むことができる式。
expression2:Object — 数値、ストリング、変数、またはテキストを含むことができる式。
function:Function — 括弧の内容に対して実行される関数。
parameter1...parameterN:Object — 結果を引数として括弧の外側の関数に渡す前に実行される一連のパラメータ。


シンタックス 1 : 次のステートメントでは、括弧を使用して式の実行順序を制御しています。
trace((2 + 3) * (4 + 5)); // 45 
trace(2 + (3 * (4 + 5))); // 29
trace(2 + (3 * 4) + 5);   // 19
trace(2 + (3 * 4) + 5);   // 19
シンタックス 2 : 次の例は、関数 foo() を評価した後に、関数 bar() を評価し、その後、式 a + b の結果を返します。
var a:Number = 1; 
var b:Number = 2; 
function foo() { 
  a += b; 
} 
function bar() { 
  b *= 10; 
} 
trace((foo(), bar(), a + b)); // 23 
シンタックス 3 : 次の例は、関数で括弧を使用する場合を示しています。
var today:Date = new Date(); 
trace(today.getFullYear()); // outputs current year 
function traceParameter(param):void { 
  trace(param); 
} 
traceParameter(2 * 2); // 4 

関連項目

( ) parentheses (XML)演算子 
使用法
myXML.(expression)

ECMAScript for XML (E4X) の XML 構造内の式を評価します。たとえば、myXML.(lastName == "Smith") では、名前が lastName で値が "Smith" の XML エレメントが識別されます。結果は XMLList オブジェクトです。

オペランド
myXML:* — XML または XMLList オブジェクト。
expression:* — 検索するエレメントを定義する式。

結果
XMLList — 括弧で指定された XMLList。


次の例では、括弧を使用して、エレメントおよび属性を識別しています。
var myXML:XML = 
    <employees>
        <employee id = "42">
            <firstName>Joe</firstName>
            <lastName>Smith</lastName>
        </employee>
        <employee id = "43">
            <firstName>Susan</firstName>
            <lastName>Jones</lastName>
        </employee>
        <employee id = "44">
            <firstName>Anne</firstName>
            <lastName>Smith</lastName>
        </employee>
    </employees>;
    
trace(myXML.employee.(lastName == "Smith").@id.toXMLString()); 
    // 42
    // 44
                
trace(myXML.employee.(Number(@id) > 42).@id.toXMLString()); 
    // 43
    // 44

関連項目

/ RegExp delimiter演算子 
使用法
/pattern/flags

文字の前後を囲んで使用する場合、囲まれた文字はリテラル値を表し、変数やストリング、その他の ActionScript エレメントではなく、正規表現 (RegExp) と見なされます。ただし、2 つの連続したスラッシュ (//) で始まる場合は、コメントの最初であることを表します。

オペランド
pattern:String — 正規表現のパターンを定義する 1 個以上の文字のシーケンス。
flags:String — 次の文字の 0 個以上のシーケンス : g (global フラグ)、i (ignoreCase フラグ)、s (dotall フラグ)、x (extended フラグ)。


次の例では、スラッシュ (/) を使用して RegExp 型の変数の値を設定し、一致処理で大文字と小文字を区別しないよう、i フラグを設定しています。
var myRegExp:RegExp = /foo-\d+/i; 
trace(myRegExp.exec("ABC Foo-32 def.")); // Foo-32 

関連項目

=== strict equality演算子 
使用法
expression1 === expression2

自動データ変換を行わずに、2 つの式が等しいかどうかをテストします。両方の式が、そのデータ型も含めて等しい場合、結果は true になります。

厳密な等価 (===) 演算子は、次の 3 つの点で等価 (==) 演算子と同じです。

厳密な等価 (===) 演算子は、次の 2 つの点で等価 (==) 演算子と異なります。 厳密な等価演算子の結果は、ActionScript 3.0 と ActionScript 2.0 で、プリミティブ値 (例 : var x:Number = 1) とプリミティブオブジェクト(例 : var x:Number = new Number(1)) が関わる 2 つの状況において異なります。これは、ActionScript 3.0 では、プリミティブ値とプリミティブラッパーオプジェクトの区別がなくなったためです。

1 つ目は、プリミティブ値と同じ値を持つプリミティブオブジェクトを比較する場合です。ActionScript 3.0 では true が返されますが、以前のバージョンでは false が返されます。以前のバージョンでは、プリミティブ値のデータ型は Boolean、Number、または String のいずれかでしたが、プリミティブオブジェクトのデータ型は Boolean、Number、または String ではなく Object でした。実質的な違いとして、次のコードの結果は、以前のバージョンの ActionScript ではオペランドのデータ型が一致しないため false になりますが、ActionScript 3.0 では、オブジェクト内にラップされているかどうかに関わらず、プリミティブ値のデータ型は Boolean、Number、int、uint、または String のいずれかであるため、結果は true となります。

var num1:Number = 1;
var num2:Number = new Number(1);
trace(num1 === num2); // true in ActionScript 3.0, false in ActionScript 2.0
			
2 つ目は、同じ値を持つ 2 つのプリミティブオブジェクトを比較する場合です。ActionScript 3.0 では true が返されますが、以前のバージョンでは false が返されます。
var num1:Number = new Number(1);
var num2:Number = new Number(1);
trace(num1 == num2);  // true in ActionScript 3.0, false in ActionScript 2.0
trace(num1 === num2); // true in ActionScript 3.0, false in ActionScript 2.0
以前のバージョンの ActionScript では、両方の変数が Object データ型であるため参照によって比較され、等価および厳密な等価の演算結果は両方とも false になります。ActionScript 3.0 では、両方の変数は Number データ型であるため値によって比較され、等価および厳密な等価の演算結果は両方とも true になります。

オペランド
expression1:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。
expression2:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。

結果
Boolean — 比較結果を表すブール値。


次の例では、値とデータ型の両方が一致する場合、厳密な等価 (===) と等価 (==) が同じ結果になることを示しています。
var string1:String = "5"; 
var string2:String = "5"; 
trace(string1 == string2);  // true 
trace(string1 === string2); // true
次の例では、厳密な等価演算子が String データ型を Number に変換しないのに対し、等価 (==) 演算子では変換することを示しています。
// The equality (==) operator converts 5 to "5", but the strict equality operator does not
var string1:String = "5"; 
var num:Number = 5; 
trace(string1 == num);  // true 
trace(string1 === num); // false 
次の例では、厳密な等価演算子がブール値を数値に変換しないのに対し、等価演算子では変換することを示しています。
var num:Number = 1;
var bool:Boolean = true;
trace(num == bool);  // true 
trace(num === bool); // false
次の例では、厳密な等価演算子が int および uint のデータ型を変換することを示しています。
var num1:Number = 1;
var num2:int = 1;
var num3:uint = 1;
trace(num1 === num2); // true
trace(num1 === num3); // true
次の例では、厳密な等価演算子では nullundefined が等しくないと見なされるのに対し、等価演算子では等しいと見なされることを示しています。
trace(null == undefined);  // true 
trace(null === undefined); // false 

関連項目

!== strict inequality演算子 
使用法
expression1 !== expression2

厳密な等価 (===) 演算子の正反対が真であるかどうかをテストします。厳密な等価演算子は、int および uint のデータ型のみが変換されるという点以外は不等価演算子と同じです。

expression1expression2 と等しく、両方のデータ型が同じである場合、結果は false になります。

厳密な不等価 (!==) 演算子は、次の 3 つの点で不等価 (!=) 演算子と同じです。

厳密な不等価演算子は、次の 2 つの点で不等価 (!=) 演算子と異なります。

オペランド
expression1:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。
expression2:Object — 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。

結果
Boolean — 比較結果を表すブール値。


次のコードのコメントは、等価演算子 (==)、厳密な等価演算子 (===)、厳密な不等価演算子 (!==) を使用した演算の戻り値を示しています。
var s1:String = "5"; 
var s2:String = "5"; 
var s3:String = "Hello"; 
var n:Number = 5; 
var b:Boolean = true; 
trace(s1 == s2);  // true 
trace(s1 == s3);  // false 
trace(s1 == n);   // true 
trace(s1 == b);   // false 
trace(s1 === s2); // true 
trace(s1 === s3); // false 
trace(s1 === n);  // false 
trace(s1 === b);  // false 
trace(s1 !== s2); // false 
trace(s1 !== s3); // true 
trace(s1 !== n);  // true 
trace(s1 !== b);  // true 

関連項目

" string delimiter演算子 
使用法
 "text" 

文字の前後を囲んで使用する場合、囲まれた文字はリテラル値を表し、変数や数値、その他の ActionScript エレメントではなく、ストリングと見なされます。

オペランド
text:String — 0 個以上の文字のシーケンス。


次の例では、引用符 (") を使用して、変数 yourGuess の値がリテラルストリング "Prince Edward Island" であり、変数名ではないことを示しています。
var yourGuess:String = "Prince Edward Island"; 
submit_btn.onRelease = function() { trace(yourGuess); }; 
// Prince Edward Island

関連項目

- subtraction演算子 
使用法
-expression
 expression1 - expression2

符号反転や減算に使用します。

シンタックス 1 : 符号反転に使用する場合、式の符号を逆にします。
シンタックス 2 : 減算に使用する場合、2 つの式に対して算術的な減算を行い、expression1 から expression2 を減算します。両方の式が整数であれば、その差は整数です。いずれかの式または両方の式が浮動小数点数であれば、その差は浮動小数点数です。

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
Number — 整数または浮動小数点数。


シンタックス 1 : 次のステートメントは、式 2 + 3 の符号を逆にします。
trace(-(2 + 3)); // -5 
シンタックス 2 : 次のステートメントは、整数 5 から整数 2 を減算します。
trace(5 - 2); // 3 
結果は、整数の 3 です。

次のステートメントは、浮動小数点数 3.25 から浮動小数点数 1.5 を減算します。

trace(3.25 - 1.5); // 1.75 
結果は、浮動小数点数の 1.75 です。

関連項目

-= subtraction assignment演算子 
使用法
expression1 -= expression2

expression1expression1 - expression2 の値を割り当てます。たとえば、次の 2 つのステートメントは同じです。

x -= y ;
x = x - y;

ストリング式は数値に変換される必要があります。変換されない場合、結果は NaN (非数) となります。

オペランド
expression1:Number — 数値、または評価結果が数値になる式。
expression2:Number — 数値、または評価結果が数値になる式。

結果
Number — 算術演算の結果。


次の例では、減算後代入 (-=) 演算子を使用して、5 から 10 を減算し、その結果を変数 x に割り当てます。
var x:Number = 5; 
var y:Number = 10; 
x -= y; 
trace(x); // -5 
次の例では、ストリングがどのように数値に変換されるかを示します。
var x:String = "5"; 
var y:String = "10"; 
x -= y; 
trace(x); // -5 

関連項目

: type演算子 
使用法
[modifiers] var variableName:type
function functionName():type { ...}
function functionName(parameter1:type, ..., parameterN:type) [:type]{ ... } 

データ型を割り当てるために使用します。この演算子は、変数の型、関数の戻り値の型、または関数パラメータの型を指定します。変数の宣言または割り当てで使用する場合は、変数の型を指定します。関数の宣言または定義で使用する場合は、関数の戻り値の型を指定します。関数定義の関数パラメータで使用する場合は、そのパラメータの変数の型を指定します。

型チェックは実行時に必ず行われます。ただし、コンパイラが strict モードに設定されている場合は、コンパイル時にもすべての型のチェックが行われ、型の不一致がある場合にエラーが発生します。型の不一致は、割り当て操作、関数の呼び出し、ドット (.) 演算子を使用したクラスメンバーの逆参照の際に発生する可能性があります。

使用できる型としては、すべてのネイティブオブジェクト型、独自に定義したクラスとインターフェイス、および void があります。認識されるネイティブ型には、ブール (Boolean)、数値 (Number)、整数 (int)、符号なし整数 (uint)、ストリング (String) があります。また、すべてのビルトインクラスは、ネイティブ型としてサポートされます。

データ型を割り当てない場合、変数、関数の戻り値、または関数のパラメータは型指定なしと見なされ、どのようなデータ型の値も取ることができます。型指定のない値を使用することを明示するには、型注釈にアスタリスク (*) 文字を使用します。アスタリスク文字を型注釈に使用すると、変数、関数の戻り値の型、または関数のパラメータの型を指定しないのと同じことになります。

オペランド
variableName:* — 変数の識別子。
type:* — ネイティブのデータ型、定義済みのクラス名、またはインターフェイス名。
functionName:Function — 関数の識別子。
parameter:* — 関数パラメータの識別子。


シンタックス 1 : 次の例では、userName という名前のパブリック変数を宣言しています。この変数は String 型で、空のストリングを割り当てます。
var userName:String = ""; 
シンタックス 2 : 次の例では、randomInt() という名前の関数を定義し、戻り値の型を int に指定しています。
function randomInt(integer:int):int { 
    return Math.round(Math.random()*integer); 
} 
trace(randomInt(8)); 
シンタックス 3 : 次の例では、squareRoot() という名前の関数を定義しています。この関数は val という Number 型のパラメータを受け取り、val の平方根を Number 型で返します。
function squareRoot(val:Number):Number { 
    return Math.sqrt(val); 
} 
trace(squareRoot(121)); 

関連項目

typeof演算子 
使用法
typeof expression

expression を評価し、式のデータ型を表すストリングを返します。結果は 6 つのストリング値に限定され、booleanfunctionnumberobjectstring、および xml のいずれかが返されます。ユーザー定義クラスのインスタンスにこの演算子を適用する場合、結果は object のストリングになります。typeof 演算子は、後方互換性を維持するために提供されています。型の互換性をチェックするには、is 演算子を使用します。

オペランド
expression:Object — 評価するオブジェクト。

結果
Stringexpression の型のストリング表現。次の表に、typeof 演算子を使用した結果を式の型別に示します。

式の型 結果
Array object
Boolean boolean
Function function
int number
Number number
Object object
String string
uint number
XML xml
XMLList xml


次の例では、さまざまなオブジェクトや値に対して typeof を使用した結果を示しています。
trace(typeof Array); // object
trace(typeof Date);  // object
trace(typeof 3);     // number
次の例では、リテラル値を割り当てるかどうか、または new 演算子を使用してオブジェクトを作成するかどうかに関わらず、ActionScript 3.0 ではプリミティブオブジェクトのデータ型が同じになることを示しています。これは以前のバージョンの ActionScript とは異なります。以前のバージョンでは、変数 b に対して、typeof 演算子は object を返します。
var a:String = "sample";
var b:String = new String("sample");
trace(typeof a); // string
trace(typeof b); // string 

関連項目

void演算子 
使用法
void expression

式を評価した後、その値を破棄して、undefined を返します。void 演算子は、多くの場合、== 演算子を使用して undefined 値をテストする比較において使用します。

オペランド
expression:Object — 評価される式。

結果
*undefined 値。

関連項目

< > XML literal tag delimiter演算子 
使用法
 myXML= <{tagName} {attributeName} = {attributeValue}>{content}</{tagName}>

XML リテラル内の XML タグを定義します。終了タグはスラッシュ / を使用して定義します。

オペランド
myXML:* — XML または XMLList オブジェクト。
tagName:* — 評価結果が XML タグの名前になる式。
attributeName:* — 評価結果が XML 属性の名前になる式。
attributeValue:* — 評価結果が XML 属性の値になる式。
content:* — 評価結果が XML タグの内容になる式。


次の例では、XML リテラルの定義に < および > 演算子を使用しています。
var x:XML = <item id= "324">cola</item>; 

関連項目

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/2_jp/langref/operators.html