記号演算子は式の値の組み合わせ、比較、または修正の方法を指定する文字です。
| 論理 | |||
|---|---|---|---|
| && | logical AND | false である場合または false に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。 | |
| &&= | logical AND assignment | expression1 に expression1 && expression2 の値を割り当てます。 | |
| ! | logical NOT | ||
| || | logical OR | true である場合または true に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。 | |
| ||= | logical OR assignment | expression1 に expression1 || expression2 の値を割り当てます。 | |
| XML | |||
| @ | attribute identifier | ||
| { } | braces (XML) | ||
| [ ] | brackets (XML) | ||
| + | concatenation (XMLList) | ||
| += | concatenation assignment (XMLList) | expression1 に expression1 + expression2 の値を割り当てます。 | |
| delete (XML) | reference で指定された XML エレメントまたは属性を削除します。 | ||
| .. | descendant accessor | ||
| . | dot (XML) | ||
| ( ) | parentheses (XML) | ||
| < > | XML literal tag delimiter | ||
| その他 | |||
| [] | array access | a0 など)で新しい配列または多次元配列を初期化するか、配列内のエレメントにアクセスします。 | |
| as | |||
| , | comma | expression1、式 expression2、... の順に評価します。 | |
| ?: | conditional | expression1 を評価し、expression1 の値が true である場合、結果は expression2 の値となり、そうでない場合は expression3 の値となります。 | |
| delete | reference によって指定されたオブジェクトプロパティを破棄します。処理後にプロパティが存在しない場合、結果は true になり、存在する場合は false になります。 | ||
| . | dot | ||
| in | |||
| instanceof | function のプロトタイプオブジェクトが含まれるかどうかを評価します。 | ||
| is | |||
| :: | name qualifier | ||
| new | |||
| {} | object initializer | name と value のプロパティペアで初期化します。 | |
| () | parentheses | ||
| / | RegExp delimiter | ||
| : | type | ||
| typeof | expression を評価し、式のデータ型を表すストリングを返します。 | ||
| void | undefined を返します。 | ||
| コメント | |||
| /*..*/ | block comment delimiter | ||
| // | line comment delimiter | ||
| ビット単位複合代入 | |||
| &= | bitwise AND assignment | expression1 に expression1 & expression2 の値を割り当てます。 | |
| <<= | bitwise left shift and assignment | <<=)演算を行い、その内容を結果として expression1 に格納します。 | |
| |= | bitwise OR assignment | expression1 に expression1 | expression2 の値を割り当てます。 | |
| >>= | bitwise right shift and assignment | expression に格納します。 | |
| >>>= | bitwise unsigned right shift and assignment | expression に格納します。 | |
| ^= | bitwise XOR assignment | expression1 に expression1 ^ expression2 の値を割り当てます。 | |
| ビット演算 | |||
| & | bitwise AND | expression1 と expression2 を 32 ビット符号なし整数に変換し、整数パラメーターをビット単位で論理積(AND)演算します。 | |
| << | bitwise left shift | expression1 と shiftCount を 32 ビット整数に変換し、shiftCount の変換により生成された整数で指定される桁数だけ expression1 内のすべてのビットを左にシフトします。 | |
| ~ | bitwise NOT | expression を 32 ビット符号付き整数に変更し、ビット単位で 1 の補数を適用します。 | |
| | | bitwise OR | expression1 と expression2 を 32 ビット符号なし整数に変換し、expression1 と expression2 の対応ビットの少なくとも一方が 1 である各ビット位置に 1 を設定します。 | |
| >> | bitwise right shift | expression と shiftCount を 32 ビット整数に変換し、shiftCount の変換により生成された整数で指定される桁数だけ expression 内のすべてのビットを右にシフトします。 | |
| >>> | bitwise unsigned right shift | >>)演算子と同じです。 | |
| ^ | bitwise XOR | expression1 と expression2 を 32 ビット符号なし整数に変換し、expression1 と expression2 の対応ビットのいずれか一方のみが 1 である各ビット位置に 1 を設定します。 | |
| 代入 | |||
| = | assignment | expression2 の値(右側のオペランド)を expression1 の変数、配列エレメント、またはプロパティに割り当てます。 | |
| 文字列 | |||
| + | concatenation | ||
| += | concatenation assignment | expression1 に expression1 + expression2 の値を割り当てます。 | |
| " | string delimiter | ||
| 比較 | |||
| == | equality | ||
| > | greater than | expression1 が expression2 より大きいかどうかを判定します。大きい場合、結果は true になります。 | |
| >= | greater than or equal to | expression1 が expression2 より大きいか等しい(true)、または expression1 が expression2 より小さい(false)かどうかを判定します。 | |
| != | inequality | ==)演算子の正反対が真であるかどうかをテストします。 | |
| < | less than | expression1 が expression2 より小さいかどうかを判定します。小さい場合、結果は true になります。 | |
| <= | less than or equal to | expression1 が expression2 より小さいまたは等しいかどうかを判定します。小さいか等しい場合、結果は true になります。 | |
| === | strict equality | ||
| !== | strict inequality | ===)演算子の正反対が真であるかどうかをテストします。 | |
| 算術演算 | |||
| + | addition | ||
| -- | decrement | ||
| / | division | expression1 を expression2 で除算します。 | |
| ++ | increment | ||
| % | modulo | expression1 を expression2 で割ったときの剰余を計算します。 | |
| * | multiplication | ||
| - | subtraction | ||
| 算術複合代入 | |||
| += | addition assignment | expression1 に expression1 + expression2 の値を割り当てます。 | |
| /= | division assignment | expression1 に expression1 / expression2 の値を割り当てます。 | |
| %= | modulo assignment | expression1 に expression1 % expression2 の値を割り当てます。 | |
| *= | multiplication assignment | expression1 に expression1 * expression2 の値を割り当てます。 | |
| -= | subtraction assignment | expression1 に expression1 - expression2 の値を割り当てます。 | |
| + addition | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
数値式を加算します。両方の式が整数の場合、合計は整数になります。いずれかの式または両方の式が浮動小数点数の場合、合計は浮動小数点数になります。
1 つの式がストリングの場合、他の式はすべてストリングに変換され、加算の代わりに連結されます。式がストリングでも数値でもない場合は、Flash® Player により数値に変換されます。
オペランドexpression1:Number —
加算される値。
| |
expression2:Number —
加算される値。
|
Number —
整数または浮動小数点数。
|
例
この例の使用方法
このステートメントは、整数の 2 と 3 を加算します。
trace(2 + 3); // 5
trace(2.5 + 3.25); // 5.75
trace("Number " + 8 + 0); // Number 80deposit はステージのテキスト入力フィールドです。ユーザーが預金額を入力すると、スクリプトは deposit を oldBalance に加算しようとします。ただし、deposit は String 型なので、スクリプトは変数の値を合計せずに値を連結(結合して 1 つのストリングを構成)します。
var oldBalance:Number = 1345.23; var currentBalance = deposit_txt.text + oldBalance; trace(currentBalance);
trace() ステートメントは値 4751345.23 を「出力」パネルに表示します。これを修正するには、次に示すように Number() 関数を使用してストリングを数値に変換します。
var oldBalance:Number = 1345.23; var currentBalance:Number = Number(deposit_txt.text) + oldBalance; trace(currentBalance);
関連する API エレメント
| += addition assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
関連する API エレメント
| [] array access | 演算子 |
|
| ランタイムバージョン: | Flash Player 9 |
指定されたエレメント(a0 など)で新しい配列または多次元配列を初期化するか、配列内のエレメントにアクセスします。配列アクセス演算子を使用すると、インスタンス、変数、およびオブジェクト名を動的に設定および取得できます。この演算子を使用してオブジェクトのプロパティにアクセスすることもできます。
シンタックス 1:配列は、エレメントと呼ばれるプロパティを持つオブジェクトです。各エレメントはインデックスと呼ばれる番号で識別されます。配列を作成する場合は、エレメントを配列アクセス演算子([])(角括弧)で囲みます。配列には、様々なタイプのエレメントを格納できます。例えば、次の配列 employee には 3 つのエレメントがあります。最初のエレメントは数値、2 番目と 3 番目のエレメントはストリング(引用符内)です。
var employee:Array = [15, "Barbara", "Jay"];
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.*/
var my_array:Array = new Array(); my_array[0] = 15; my_array[1] = "Hello"; my_array[2] = true;
my_array[3] = "George";
trace() ステートメントは、2 番目の配列(インデックス 1)の 3 番目のエレメント(インデックス 2)を検索します。
var ticTacToe:Array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; trace(ticTacToe[1][2]); // 6
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 */
関連する API エレメント
| as | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
最初のオペランドで指定された式が、2 番目のオペランドで指定されたデータ型のメンバーであるかどうかを評価します。最初のオペランドがそのデータ型のメンバーである場合、結果は最初のオペランドになります。それ以外の場合、結果の値は null です。
2 番目のオペランドで使用される式は、評価結果がデータ型となる必要があります。
オペランドexpression:* —
指定されたデータ型に対してチェックする値。
| |
datatype:Class —
expression オペランドの評価に使用されるデータ型。型指定がないことを表す特殊な * 型は使用できません。
|
Object —
expression が datatype で指定されたデータ型のメンバーである場合、結果は 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
関連する API エレメント
| = assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
関連する API エレメント
| @ attribute identifier | 演算子 |
myXML.@attributeName |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
} xml.@class は使用できません。class は ActionScript の予約語です。この場合は、シンタックス xml.attribute("class") を使用します。
var xml:XML = <example class='123'/>
trace(xml.attribute("class"));関連する API エレメント
| & bitwise AND | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 と expression2 を 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)
1101 & 1011 ---- 1001
次の例は、戻り値の変換の動作を示しています。
trace(0xFFFFFFFF); // 4294967295 trace(0xFFFFFFFF & 0xFFFFFFFF); // -1 trace(0xFFFFFFFF & -1); // -1 trace(4294967295 & -1); // -1 trace(4294967295 & 4294967295); // -1
関連する API エレメント
| &= bitwise AND assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 & expression2 の値を割り当てます。例えば、次の 2 つの式は同じです。
x &= y; x = x & y;オペランド
expression1:Number —
数値、または評価結果が数値になる式。
| |
expression2:Number —
数値、または評価結果が数値になる式。
|
int —
expression1 & expression2 の値。
|
例
この例の使用方法
次の例では、
x に値 9 が割り当てられます。
var x:Number = 15; var y:Number = 9; trace(x &= y); // 9
関連する API エレメント
| << bitwise left shift | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 と shiftCount を 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
00000000001 binary << 10 decimal -------------- 10000000000 binary equals 1024 decimal
次の例では、整数 7 を左に 8 ビットシフトします。
x = 7 << 8
00000000111 binary << 8 decimal -------------- 11100000000 binary equals 1792 decimal
次の trace ステートメントでは、ビットを左に 3 ビットシフトしています。
// 1 binary == 0001 // 8 binary == 1000 trace(1 << 3); // 8
関連する API エレメント
| <<= bitwise left shift and assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
ビット単位の左シフト(<<=)演算を行い、その内容を結果として 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
関連する API エレメント
| ~ bitwise NOT | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
関連する API エレメント
| | bitwise OR | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 と expression2 を 32 ビット符号なし整数に変換し、expression1 と expression2 の対応ビットの少なくとも一方が 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)
|)と通常の論理和(||)を混同しないようにしてください。
関連する API エレメント
| |= bitwise OR assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 | 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)
関連する API エレメント
| >> bitwise right shift | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression と shiftCount を 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
00000000000000001111111111111111 binary (65535 decimal)
>> 8 decimal
--------------------
00000000000000000000000011111111 binary (255 decimal)
次の例では、-8 を 32 ビット整数に変換し、右側に 1 ビットシフトしています。結果は 10 進数の -4 です。
var a:Number = -8 >> 1; trace(a); // -4
11111111111111111111111111111000 binary (-8 decimal)
>> 1 decimal
--------------------
11111111111111111111111111111100 binary (-4 decimal)
関連する API エレメント
| >>= bitwise right shift and assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
ビット単位の右シフト演算を行い、結果を 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.関連する API エレメント
| >>> bitwise unsigned right shift | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
左側のビットは常に 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
関連する API エレメント
| >>>= bitwise unsigned right shift and assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
ビット単位の符号なし右シフト演算を行い、結果を 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
関連する API エレメント
| ^ bitwise XOR | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 と expression2 を 32 ビット符号なし整数に変換し、expression1 と expression2 の対応ビットのいずれか一方のみが 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)
関連する API エレメント
| ^= bitwise XOR assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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)
関連する API エレメント
| /*..*/ block comment delimiter | 演算子 |
/* comment */ /* comment comment */ |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
スクリプトコメントのブロックを区切ります。開始区切り記号(/*)と終了区切り記号(*/)の間の文字はコメントと解釈され、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 */
関連する API エレメント
| { } braces (XML) | 演算子 |
myXML = <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
XML または XMLList 初期化子で使用されている式を評価します。XML または XMLList 初期化子は、XML または XMLList 型の変数に割り当てられるリテラル値です。XML { および } 演算子で区切られる式は、XML または XMLList 初期化子でリテラルの名前または値の代わりに使用できます。式は、tagName、attributeName、attributeValue、および 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>関連する API エレメント
| [ ] brackets (XML) | 演算子 |
myXML[expression] |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
XML または XMLList オブジェクトのプロパティまたは属性にアクセスします。括弧演算子を使用すると、ドット(.)演算子でアクセスできないプロパティ名にアクセスできます。
myXML:* —
XML または XMLList オブジェクト。
| |
expression:* —
評価結果が XML タグまたは属性の名前になる式。
|
例
この例の使用方法
次の例では、
[ および ] 演算子を使用して、XML プロパティにアクセスしています。これらのプロパティは、タグ名にハイフンが含まれているので、ドット演算子ではアクセスできません。
var myXML:XML = <a><foo-bar>44</foo-bar></a>; trace(myXML["foo-bar"]);
関連する API エレメント
| , comma | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
式 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
関連する API エレメント
| + concatenation | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
ストリングを連結(結合)します。ある式がストリングの場合、他の式はすべてストリングに変換され、連結されます。
両方の式が数値である場合、この演算子は加算演算子として動作します。
オペランドexpression1:String —
連結されるストリング。
| |
expression2:String —
連結されるストリング。
|
String —
連結されたストリング。
|
例
この例の使用方法
次の例では、2 つのストリングを連結します。
var lastName:String = "Cola"; var instrument:String = "Drums"; trace(lastName + " plays " + instrument); // Cola plays Drums
trace("Number " + 8 + 0); // Number 80var a:String = 3 + 10 + "asdf"; trace(a); // 13asdf var b:String = "asdf" + 3 + 10; trace(b); // asdf310
関連する API エレメント
| + concatenation (XMLList) | 演算子 |
expression1 + expression2 |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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>
関連する API エレメント
| += concatenation assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 + expression2 の値を割り当てます。例えば、次の 2 つのステートメントは同じ結果になります。
x += y; x = x + y;連結(
+)演算子のすべての規則が、連結後代入(+=)演算子に適用されます。 TextField の text プロパティに連結後代入演算子を使用する(すなわち someTextField.text += moreText とする)と、TextField.appendText() よりもはるかに効率が悪くなります。大きなコンテンツが入っている TextField では特に非効率的です。
オペランドexpression1:String —
ストリングです。
| |
expression2:String —
ストリングです。
|
Number —
連結した結果。
|
例
この例の使用方法
次の例では、
+= 演算子をストリング式で使用しています。
var x1:String = "My name is "; x1 += "Gilbert"; trace(x1); // My name is Gilbert
関連する API エレメント
| += concatenation assignment (XMLList) | 演算子 |
expression1 += expression2 |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
XMLList オブジェクトの expression1 に expression1 + 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>
関連する API エレメント
| ?: conditional | 演算子 |
expression1 ? expression2 : expression3 |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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-- |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
オペランドから 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
i を 1 ずつ減らしています。
for (var i = 10; i > 0; i--) {
trace(i);
}| delete | 演算子 |
delete reference |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
reference によって指定されたオブジェクトプロパティを破棄します。処理後にプロパティが存在しない場合、結果は true になり、存在する場合は false になります。存在しないプロパティまたはクラスで定義されていない動的プロパティで呼び出された場合、delete 演算子は true を返します。
reference パラメーターを削除できない場合、delete 演算子は処理できないので false を返します。固定プロパティまたは var ステートメントで宣言された変数は削除できません。固定プロパティとは、クラス定義で定義される変数またはメソッドです。
クラスが実行時に追加された動的クラスでない限り、delete 演算子を使用してそのクラスのプロパティを破棄することはできません。sealed クラスのプロパティは、delete を使用して破棄することはできません。代わりに、プロパティを null に設定してください。
注意:オブジェクトを削除することはできませんが、オブジェクトへのすべての参照を削除すれば、そのオブジェクトをガベージコレクションの対象にすることができます。最も一般的なオブジェクトへの参照は、オブジェクトを参照する変数です。これらの参照は、変数を 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,
次の例は、delete から返されたブール値を後でコード実行時の条件として使用する方法を示しています。アイテムが既に削除されている場合、そのアイテムで再度 delete を呼び出すと、false が返されます。
var my_array:Array = [ "abc", "def", "ghi" ]; var deleteWasSuccessful:Boolean deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[1]; deleteWasSuccessful = delete my_array[0]; if(deleteWasSuccessful) delete my_array[2]; trace(my_array) // outputs: undefined,undefined,ghi
関連する API エレメント
| delete (XML) | 演算子 |
delete reference |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
reference で指定された XML エレメントまたは属性を削除します。
reference:XMLList —
削除する XML エレメントまたは属性を指定する XMLList オブジェクト。
|
Boolean —
戻り値は常に true です。XMLList オペランドは、空の可能性がある場合でも有効な XMLList オブジェクトを常に参照するので、結果は常に true になります。
|
例
この例の使用方法
次の例では、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 |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
関連する API エレメント
| / division | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 を expression2 で除算します。除算演算の結果は倍精度の浮動小数点数です。
expression:Number —
数値、または評価結果が数値になる変数。
|
Number —
浮動小数点数の演算結果。
|
例
この例の使用方法
次の例は、被除数が正、負、または 0 の場合に、0 による除算結果が異なることを示しています。
trace(3/0); // Infinity trace(-3/0); // -Infinity trace(0/0); // NaN
関連する API エレメント
| /= division assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
関連する API エレメント
| . dot | 演算子 |
object.property_or_method |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
クラス変数およびメソッドにアクセスし、オブジェクトプロパティの取得および設定を行い、読み込まれたパッケージまたはクラスを区切ります。
オペランドobject:Object —
クラスのインスタンス。オブジェクトには、ActionScript の任意のビルトインクラス、または独自に定義したクラスのインスタンスを指定できます。このオペランドは、常にドット(.)演算子の左側で使用します。
| |
property_or_method:* —
オブジェクトに関連するプロパティまたはメソッドの名前。ビルトインオブジェクトの有効なメソッドとプロパティは、そのクラスのメソッドとプロパティの一覧表に示されています。このオペランドは、常にドット(.)演算子の右側で使用します。
|
* —
ドットの右側に指定された変数、メソッド、またはプロパティ。
|
例
この例の使用方法
次の例では、Timer クラスを読み込む際の区切りにドット演算子を使用しています。
import flash.utils.Timer;
var obj:Object = new Object(); obj.propertyA = "hello"; trace(obj.propertyA); // hello
関連する API エレメント
| . dot (XML) | 演算子 |
myXML.childElement myXML.@attributeName |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
関連する API エレメント
| == equality | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
2 つの式の等価性をテストします。式が等しい場合、結果は true です。
2 つのオペランドのデータ型が一致する場合、等価の定義はオペランドのデータ型によって決まります。
- int、uint、および Boolean 型の値は、値が同じ場合に等しいと見なされます。
- Number 型は、値が同じで両方とも
NaNでない場合に等しいと見なされます。 - 2 つのオペランドの値が
nullまたはundefinedの場合は、等しいと見なされます。 - ストリング式は、文字数が同じで、同じ文字で構成されている場合に、等しいと見なされます。
- XML オブジェクトの場合:
- 一方のオペランドがテキストまたは属性ノードで、もう一方のオペランドに単純内容が含まれる場合は、オペランドを両方とも
toString()メソッドでストリングに変換し、結果のストリングが一致する場合に等しいと見なされます。 - それ以外の場合、オブジェクトは、両方のオブジェクトの修飾名、属性、および子プロパティが一致する場合にのみ等しいと見なされます。
- 一方のオペランドがテキストまたは属性ノードで、もう一方のオペランドに単純内容が含まれる場合は、オペランドを両方とも
- XMLList オブジェクトの場合は、プロパティの数が同じで、プロパティの順序および値が一致する場合に等しいと見なされます。
- Namespace オブジェクトの場合は、両方のオブジェクトの
uriプロパティが一致する場合に値が等しいと見なされます。 - QName オブジェクトの場合は、両方のオブジェクトの
uriプロパティおよびlocalNameプロパティが一致する場合に値が等しいと見なされます。 - オブジェクト、配列、および関数を表す変数は、参照により比較されます。2 つの変数が同じオブジェクト、配列、または関数を参照する場合、それらの変数は等価です。2 つの別個の配列は、エレメント数が同じである場合でも、等しいとは見なされません。
false になります。
- オペランドの値が
undefinedおよびnullの場合。この場合、結果はtrueになります。 - 自動データ型変換により String、Boolean、int、uint、および Number のデータ型の値が互換性のある型に変換され、変換された値が等しい場合。この場合、オペランドは等しいと見なされます。
- 一方のオペランドが単純内容(
hasSimpleContent() == true)を持つ XML 型で、両方のオペランドをtoString()メソッドでストリングに変換し、結果のストリングが一致する場合。 - 一方のオペランドが XMLList 型で、次のいずれかの条件に該当する場合。
- XMLList オブジェクトの
lengthプロパティが 0 で、もう一方のオブジェクトがundefinedである。 - XMLList オブジェクトの
lengthプロパティが 1 で、XMLList オブジェクトの 1 つのエレメントがもう一方のオペランドに一致する。
- XMLList オブジェクトの
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
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 関連する API エレメント
| > greater than | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
2 つの式を比較し、expression1 が expression2 より大きいかどうかを判定します。大きい場合、結果は true になります。expression1 が expression2 より小さいか等しい場合、結果は false になります。
両方のオペランドが String 型である場合、オペランドはアルファベット順で大文字、小文字の順に比較されます。それ以外の場合、オペランドは数値に変換されてから比較されます。
オペランドexpression1:Object —
ストリング、整数、または浮動小数点数。
| |
expression2:Object —
ストリング、整数、または浮動小数点数。
|
Boolean —
expression1 が expression2 より大きい場合は 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 | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
2 つの式を比較し、expression1 が expression2 より大きいか等しい(true)、または expression1 が expression2 より小さい(false)かどうかを判定します。
expression1:Object —
ストリング、整数、または浮動小数点数。
| |
expression2:Object —
ストリング、整数、または浮動小数点数。
|
Boolean —
expression1 が expression2 より大きいか等しい場合、true の値となり、それ以外の場合は false となります。
|
例
この例の使用方法
次の例では、greater than or equal to (>=)演算子を使用して、現在の時刻(時)が 12 以上であるかどうかを判定しています。
if (new Date().getHours() >= 12) {
trace("good afternoon");
} else {
trace("good morning");
}関連する API エレメント
| in | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
プロパティが特定のオブジェクトの一部であるかどうかを評価します。in 演算子を使用するには、最初のオペランドとしてプロパティ名を指定し、2 番目のオペランドとしてオブジェクトを指定します。指定したオブジェクトに該当のプロパティが含まれている場合、結果は true になります。それ以外の場合、結果は false になります。
指定したオブジェクトが Array オブジェクトである場合、in 演算子を使用して特定のインデックス番号が有効であるかどうかをチェックできます。最初のオペランドとして整数を渡す場合、インデックスが有効なインデックス番号の範囲内にあれば結果は true になり、そうでない場合は false になります。
Boolean —
expression1 が expression2 で表されるオブジェクトのプロパティである場合は 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
関連する API エレメント
| ++ increment | 演算子 |
++expression expression++ |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
式に 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 | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
等価(==)演算子の正反対が真であるかどうかをテストします。expression1 が expression2 に等しい場合、結果は false になります。等価(==)演算子の場合と同様に、等価の定義は比較するデータ型により異なります。
2 つのオペランドのデータ型が一致する場合、等価の定義はオペランドのデータ型によって決まります。
- int、uint、および Boolean 型の値は、値が同じ場合に等しいと見なされます。
- Number 型は、値が同じで両方とも
NaNでない場合に等しいと見なされます。 - 2 つのオペランドの値が
nullまたはundefinedの場合は、等しいと見なされます。 - ストリング式は、文字数が同じで、同じ文字で構成されている場合に、等しいと見なされます。
- XML オブジェクトの場合:
- 一方のオペランドがテキストまたは属性ノードで、もう一方のオペランドに単純内容が含まれる場合は、オペランドを両方とも
toString()メソッドでストリングに変換し、結果のストリングが一致する場合に等しいと見なされます。 - それ以外の場合、オブジェクトは、両方のオブジェクトの修飾名、属性、および子プロパティが一致する場合にのみ等しいと見なされます。
- 一方のオペランドがテキストまたは属性ノードで、もう一方のオペランドに単純内容が含まれる場合は、オペランドを両方とも
- XMLList オブジェクトの場合は、プロパティの数が同じで、プロパティの順序および値が一致する場合に等しいと見なされます。
- Namespace オブジェクトの場合は、両方のオブジェクトの
uriプロパティが一致する場合に値が等しいと見なされます。 - QName オブジェクトの場合は、両方のオブジェクトの
uriプロパティおよびlocalNameプロパティが一致する場合に値が等しいと見なされます。 - オブジェクト、配列、および関数を表す変数は、参照により比較されます。2 つの変数が同じオブジェクト、配列、または関数を参照する場合、それらの変数は等価です。2 つの別個の配列は、エレメント数が同じである場合でも、等しいとは見なされません。
!=)により true が返されます。
- オペランドの値が
undefinedおよびnullの場合。この場合、結果はtrueになります。 - 自動データ型変換により String、Boolean、int、uint、および Number のデータ型の値が互換性のある型に変換され、変換された値が等しい場合。この場合、オペランドは等しいと見なされます。
- 一方のオペランドが単純内容(
hasSimpleContent() == true)を持つ XML 型で、両方のオペランドをtoString()メソッドでストリングに変換し、結果のストリングが一致する場合。 - 一方のオペランドが XMLList 型で、次のいずれかの条件に該当する場合。
- XMLList オブジェクトの
lengthプロパティが 0 で、もう一方のオブジェクトがundefinedである。 - XMLList オブジェクトの
lengthプロパティが 1 で、XMLList オブジェクトの 1 つのエレメントがもう一方のオペランドに一致する。
- XMLList オブジェクトの
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");
}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); // falsevar 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
関連する API エレメント
| instanceof | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
式のプロトタイプチェーンに function のプロトタイプオブジェクトが含まれるかどうかを評価します。instanceof 演算子は、ECMAScript Edition 3 との後方互換性を維持するために提供されており、クラスの代わりにコンストラクター関数を含むプロトタイプベースの継承を使用する上級プログラマーにとって役立つ場合があります。
オブジェクトが特定のデータ型のメンバーであるかどうかをチェックするには、is 演算子を使用します。
instanceof 演算子は、クラスと共に使用する場合、is 演算子と似たものになります。クラスのプロトタイプチェーンには、そのスーパークラスがすべて含まれているからです。ただし、インターフェイスはプロトタイプチェーンに含まれないので、instanceof 演算子をインターフェイスと共に使用すると結果は常に false になりますが、is 演算子の場合、指定されたインターフェイスを実装するクラスにオブジェクトが属している場合は true になります。
注意:ActionScript の is 演算子は、Java の instanceof 演算子と同等です。
expression:Object —
評価するプロトタイプチェーンを含むオブジェクト。
| |
function:Object —
関数オブジェクト(またはクラス)。
|
Boolean —
expression のプロトタイプチェーンに function のプロトタイプオブジェクトが含まれる場合は true を返し、それ以外の場合は false を返します。
|
例
この例の使用方法
次の例では、Sprite クラスのインスタンス
mySprite を作成し、instanceof 演算子を使用して、mySprite のプロトタイプチェーンに Sprite クラスおよび DisplayObject クラスのプロトタイプオブジェクトが含まれるかどうかをテストします。Sprite および DisplayObject のプロトタイプオブジェクトは mySprite のプロトタイプチェーンにあるので、Sprite クラスおよび DisplayObject クラスの結果は true になります。
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof Sprite); // true trace(mySprite instanceof DisplayObject); // true
instanceof 演算子がインターフェイスと共には機能しないことを示しています。DisplayObject クラスは Sprite クラスのスーパークラスであり、IBitmapDrawable インターフェイスを実装するので、is 演算子の結果は true になります。
var mySprite:Sprite = new Sprite(); trace(mySprite instanceof IBitmapDrawable); // false trace(mySprite is IBitmapDrawable); // true
関連する API エレメント
| is | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
オブジェクトに特定のデータ型、クラス、またはインターフェイスと互換性があるかどうかを評価します。instanceof 演算子の代わりに、is 演算子を使用して型の比較を行います。 is 演算子を使用して、オブジェクトにインターフェイスが実装されているかどうかをチェックすることもできます。
Boolean —
expression1 に expression2 で指定されたデータ型、クラス、またはインターフェイスと互換性がある場合は 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
関連する API エレメント
| < less than | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
2 つの式を比較し、expression1 が expression2 より小さいかどうかを判定します。小さい場合、結果は true になります。expression1 が expression2 より大きいか等しい場合、結果は false になります。
両方のオペランドが String 型である場合、オペランドはアルファベット順で大文字、小文字の順に比較されます。それ以外の場合、オペランドは数値に変換されてから比較されます。
オペランドexpression1:Object —
ストリング、整数、または浮動小数点数。
| |
expression2:Object —
ストリング、整数、または浮動小数点数。
|
Boolean —
expression1 が expression2 より小さい場合は true の値となり、それ以外の場合は false となります。
|
例
この例の使用方法
次に、数値とストリングの両方について
true と false が返される場合の例を示します。
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 | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
2 つの式を比較し、expression1 が expression2 より小さいまたは等しいかどうかを判定します。小さいか等しい場合、結果は true になります。expression1 が expression2 より大きい場合、結果は false になります。
両方のオペランドが String 型である場合、オペランドはアルファベット順で大文字、小文字の順に比較されます。それ以外の場合、オペランドは数値に変換されてから比較されます。
オペランドexpression1:Object —
ストリング、整数、または浮動小数点数。
| |
expression2:Object —
ストリング、整数、または浮動小数点数。
|
Boolean —
expression1 が expression2 より小さいか等しい場合、true の値となり、それ以外の場合は false となります。
|
例
この例の使用方法
次に、数値とストリングの両方について
true と false が返される場合の例を示します。
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 | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
スクリプトコメントの先頭を示します。コメント行区切り記号(//)と行末の間に表示される文字はコメントと解釈され、無視されます。コメントが 1 行の場合はこのコメント行区切り記号を使用し、連続した複数行の場合は /* および */ の区切り記号を使用します。
comment:* —
任意の文字。
|
例
この例の使用方法
次に、単一行コメントの例を示します。
// Any text following a line comment delimiter is ignored during compilation
関連する API エレメント
| && logical AND | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
false である場合または false に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。false に変換できる値の例としては、0、NaN、null、および undefined があります。expression2 で関数呼び出しを使用する場合、expression1 の評価結果が false であれば、関数は呼び出されません。
両方のオペランドが Boolean 型である場合、次の表に示すように、両方のオペランドが true である場合にのみ結果が true となります。
式 | 評価 |
|---|---|
|
|
|
|
|
|
|
|
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!");
} 関連する API エレメント
| &&= logical AND assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 && expression2 の値を割り当てます。例えば、次の 2 つのステートメントは同じです。
x &&= y; x = x && y;オペランド
expression1:* —
任意の型の値。
| |
expression2:* —
任意の型の値。
|
* —
両方のオペランドが Boolean データ型のメンバーである場合、ブール値となります。それ以外の場合、結果は 2 つの式のいずれかの値となります。
|
例
この例の使用方法
次の例では、
myVar 変数が XML タグに変更されます(myVar が null でない場合)。この例では、false に評価されない限り、myVar 変数が変更されます。この方法では、論理積(AND)(&&)演算子が、expression1 の評価が false の場合は expression1 の値を返し、それ以外の場合は expression2 の値を返すことを利用します。myVar に true と評価される値が既に含まれている場合、myVar は XML タグに類似するように変更されます。ただし、myVar に false と評価される値(特に、null、""(空のストリング)、undefined といった値)が含まれている場合は、myVar は変更されません。
var myVar:String = 'tag'; myVar &&= "<" + myVar + "/>"; trace (myVar); // output: <tag/>
if ステートメントを使用した場合も同じ効果が得られます。
var myVar:String = 'tag';
if (myVar != '') {
myVar = "<" + myVar + "/>";
}
trace (myVar); // output: <tag/>if ステートメントを使用する利点は、コードが読みやすくなることです。一方、論理積(AND)割り当て(&&=)演算子を使用する利点は、特定のデータ型のデフォルト値を厳密に指定する必要がないことです。
関連する API エレメント
| ! logical NOT | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
変数や式のブール値を反転します。expression が変数で、その絶対値または変換された値が true である場合、!expression の値は false になります。 式 x && y の評価が false である場合、式 !(x && y) の評価は true になります。
次の式は、論理否定(!)演算子を使用した結果を示しています。
!trueはfalseを返します。!falseはtrueを返します。
expression:Boolean —
評価結果がブール値になる式または変数。
|
Boolean —
論理演算結果を表すブール値。
|
例
この例の使用方法
次の例では、変数
happy を false に設定しています。if により条件 !happy が評価され、結果が true である場合、trace() ステートメントによりストリングが出力されます。
var happy:Boolean = false;
if (!happy) {
trace("don't worry, be happy"); // don't worry, be happy
} !false は true に等しいので、trace ステートメントが実行されます。
関連する API エレメント
| || logical OR | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
true である場合または true に変換できる場合は expression1 を返し、そうでない場合は expression2 を返します。expression2 で関数呼び出しを使用する場合、expression1 の評価結果が true であれば、関数は呼び出されません。
次の表に示すように、両方のオペランドが Boolean 型で、いずれかまたは両方の式が true である場合、結果は true になります。両方の式が false である場合、結果は false になります。
式 | 評価 |
|---|---|
|
|
|
|
|
|
|
|
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");
}関連する API エレメント
| ||= logical OR assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 || expression2 の値を割り当てます。例えば、次の 2 つのステートメントは同じです。
x ||= y; x = x || y;オペランド
expression1:* —
任意の型の値。
| |
expression2:* —
任意の型の値。
|
* —
両方のオペランドが Boolean データ型のメンバーである場合、ブール値となります。それ以外の場合、結果は 2 つの式のいずれかの値となります。
|
例
この例の使用方法
次の例では、
myVar という名前の以前に宣言した変数にデフォルト値を割り当てます。この方法では、論理和(OR)(||)演算子が、expression1 の評価が true の場合は expression1 の値を返し、それ以外の場合は expression2 の値を返すことを利用します。myVar に true と評価される値が既に含まれている場合、myVar は変更されません。 ただし、myVar に false と評価される値(特に、null、""(空のストリング)、undefined などの値)が含まれている場合は、myVar には "default" という値が割り当てられます。
myVar ||= "default";
関連する API エレメント
| % modulo | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 を expression2 で割ったときの剰余を計算します。いずれかのオペランドが数値でない場合は、剰余(%)演算子により数値への変換が試行されます。
剰余演算結果の符号は、被除数(最初の数値)の符号と一致します。例えば、-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 進数計算では浮動小数点数の精度に限度があるからです。
関連する API エレメント
| %= modulo assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 % 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
関連する API エレメント
| * multiplication | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
2 つの数値や式を乗算します。両方の式が整数であれば、その積は整数です。いずれかの式または両方の式が浮動小数点数であれば、その積は浮動小数点数になります。
オペランドexpression1:Number —
数値、または評価結果が数値になる式。
| |
expression2:Number —
数値、または評価結果が数値になる式。
|
Number —
整数または浮動小数点数。
|
例
この例の使用方法
次のステートメントでは、整数の 2 と 3 を乗算し、結果が整数の 6 となっています。
trace(2*3); // 6
trace(2.0 * 3.1416); // 6.2832
| *= multiplication assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 * expression2 の値を割り当てます。例えば、次の 2 つの式は同じです。
x *= y x = x * yオペランド
expression1:Number —
数値、または評価結果が数値になる式。
| |
expression2:Number —
数値、または評価結果が数値になる式。
|
Number —
expression1 * expression2 の値。式を数値に変換できない場合は、NaN(非数)を返します。
|
例
この例の使用方法
次の例では、値 50 を変数
a に割り当てます。
var a:Number = 5; var b:Number = 10; trace(a *= b); // 50
c と d にそれぞれ割り当てます。
var i:Number = 5; var c:Number = 4 - 6; var d:Number = i + 2; trace(c *= d); // -14
関連する API エレメント
| :: name qualifier | 演算子 |
namespace::property namespace::method() namespace::xmlObject.property namespace::xmlObject.@attribute |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
プロパティ、メソッド、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関連する API エレメント
| new | 演算子 |
|
| ランタイムバージョン: | Flash Player 5 |
クラスインスタンスをインスタンス化します。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);
関連する API エレメント
| {} object initializer | 演算子 |
object = {name1 : value1, name2 : value2,... nameN : valueN} |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
新しいオブジェクトを作成し、指定された name と value のプロパティペアで初期化します。この演算子を使用することは、new Object シンタックスを使用して代入演算子でプロパティペアを設定するのと同じです。新しく作成されるオブジェクトのプロトタイプとして、汎用の Object オブジェクトがあります。
また、フローを制御するステートメント(for、while、if、else、switch)や関数で、ひとかたまりのコードブロックであることを示すときにも、この演算子が使用されます。
object:Object —
作成するオブジェクト。
| |
name1,2,...N:Object —
プロパティの名前。
| |
value1,2,...N:Object —
各 name プロパティに対応する値。
|
Object —
Object オブジェクト。
|
例
この例の使用方法
次のコードの 1 行目はオブジェクト初期化({})演算子を使用して空のオブジェクトを作成し、2 行目はコンストラクター関数を使用して新しいオブジェクトを作成します。
var object:Object = {};
var object:Object = new Object(); account を作成し、name、address、city、state、zip、balance の各プロパティを対応する値で初期化します。
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";
関連する API エレメント
| () parentheses | 演算子 |
(expression1[, expression2]) (expression1, expression2) function(parameter1,..., parameterN) |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
パラメーターに対してグループ化演算を実行するか、複数の式を順番に評価します。または、パラメーターを囲み、引数として括弧の前の関数に渡します。
シンタックス 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
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 var today:Date = new Date();
trace(today.getFullYear()); // outputs current year
function traceParameter(param):void {
trace(param);
}
traceParameter(2 * 2); // 4 関連する API エレメント
| ( ) parentheses (XML) | 演算子 |
myXML.(expression) |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
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
関連する API エレメント
| / RegExp delimiter | 演算子 |
/pattern/flags |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
文字の前後を囲んで使用する場合、囲まれた文字はリテラル値を表し、変数やストリング、その他の ActionScript エレメントではなく、正規表現(RegExp)と見なされます。ただし、2 つの連続したスラッシュ(//)で始まる場合は、コメントの最初であることを表します。
pattern:String —
正規表現のパターンを定義する 1 個以上の文字のシーケンス。
| |
flags:String —
文字 g(global フラグ)、i(ignoreCase フラグ)、s(dotall フラグ)、および x(extended フラグ)のうち 0 個以上の組み合わせで構成されるシーケンス。
|
例
この例の使用方法
次の例では、スラッシュ(/)を使用して RegExp 型の変数の値を設定し、一致処理で大文字と小文字を区別しないよう、
i フラグを設定しています。
var myRegExp:RegExp = /foo-\d+/i;
trace(myRegExp.exec("ABC Foo-32 def.")); // Foo-32 関連する API エレメント
| === strict equality | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
自動データ変換を行わずに、2 つの式が等しいかどうかをテストします。両方の式が、そのデータ型も含めて等しい場合、結果は true になります。
厳密な等価(===)演算子は、次の 3 つの点で等価(==)演算子と同じです。
- 数値とブール値は値により比較され、それらの値が同じであれば、等しいと見なされます。
- ストリング式は、文字数が同じで、同じ文字で構成されている場合に、等しいと見なされます。
- オブジェクト、配列、および関数を表す変数は、参照により比較されます。2 つの変数が同じオブジェクト、配列、または関数を参照する場合、それらの変数は等価です。2 つの別個の配列は、エレメント数が同じである場合でも、等しいとは見なされません。
===)演算子は、次の 2 つの点で等価(==)演算子と異なります。
- 厳密な等価演算子は Number、int、および uint 型のみ自動データ変換を行い、等価演算子はすべてのプリミティブデータ型の自動データ変換を行います。
nullとundefinedを比較する場合、厳密な等価演算子ではfalseが返されます。
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
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
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
==)演算子では変換することを示しています。
// 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
var num1:Number = 1; var num2:int = 1; var num3:uint = 1; trace(num1 === num2); // true trace(num1 === num3); // true
null と undefined が等しくないと見なされるのに対し、等価演算子では等しいと見なされることを示しています。
trace(null == undefined); // true trace(null === undefined); // false
関連する API エレメント
| !== strict inequality | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
厳密な等価(===)演算子の正反対が真であるかどうかをテストします。厳密な等価演算子は、int および uint のデータ型のみが変換されるという点以外は不等価演算子と同じです。
expression1 が expression2 と等しく、両方のデータ型が同じである場合、結果は false になります。
厳密な不等価(!==)演算子は、次の 3 つの点で不等価(!=)演算子と同じです。
- 数値とブール値は値により比較され、それらの値が同じであれば、等しいと見なされます。
- ストリング式は、文字数が同じで、同じ文字で構成されている場合に、等しいと見なされます。
- オブジェクト、配列、および関数を表す変数は、参照により比較されます。2 つの変数が同じオブジェクト、配列、または関数を参照する場合、それらの変数は等価です。2 つの別個の配列は、エレメント数が同じである場合でも、等しいとは見なされません。
!=)演算子と異なります。
- 厳密な不等価(
!==)演算子は Number、int、および uint 型のみ自動データ変換を行い、不等価(!=)演算子はすべてのプリミティブデータ型の自動データ変換を行います。 nullとundefinedを比較する場合、厳密な不等価(!==)演算子ではtrueが返されます。
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
関連する API エレメント
| " string delimiter | 演算子 |
"text" |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
文字の前後を囲んで使用する場合、囲まれた文字はリテラル値を表し、変数や数値、その他の ActionScript エレメントではなく、ストリングと見なされます。
オペランドtext:String —
0 個以上の文字のシーケンス。
|
例
この例の使用方法
次の例では、引用符(")を使用して、変数
yourGuess の値がリテラルストリング "Prince Edward Island" であり、変数名ではないことを示しています。
var yourGuess:String = "Prince Edward Island";
submit_btn.onRelease = function() { trace(yourGuess); };
// Prince Edward Island関連する API エレメント
| - subtraction | 演算子 |
|
| ランタイムバージョン: | Flash Player 9 |
符号反転や減算に使用します。
シンタックス 1:符号反転に使用する場合、式の符号を逆にします。
シンタックス 2:減算に使用する場合、2 つの式に対して算術的な減算を行い、expression1 から expression2 を減算します。 両方の式が整数であれば、その差は整数です。いずれかの式または両方の式が浮動小数点数であれば、その差は浮動小数点数です。
expression1:Number —
数値、または評価結果が数値になる式。
| |
expression2:Number —
数値、または評価結果が数値になる式。
|
Number —
整数または浮動小数点数。
|
例
この例の使用方法
シンタックス 1:次のステートメントは、式 2 + 3 の符号を逆にします。
trace(-(2 + 3)); // -5
trace(5 - 2); // 3
次のステートメントは、浮動小数点数 3.25 から浮動小数点数 1.5 を減算します。
trace(3.25 - 1.5); // 1.75
| -= subtraction assignment | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression1 に expression1 - 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
関連する API エレメント
| : type | 演算子 |
[modifiers] var variableName:type function functionName():type { ... } function functionName(parameter1:type, ..., parameterN:type) [:type]{ ... } |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
データ型を割り当てるために使用します。この演算子は、変数の型、関数の戻り値の型、または関数パラメーターの型を指定します。変数の宣言または割り当てで使用する場合は、変数の型を指定します。関数の宣言または定義で使用する場合は、関数の戻り値の型を指定します。関数定義の関数パラメーターで使用する場合は、そのパラメーターの変数の型を指定します。
型チェックは実行時に必ず行われます。ただし、コンパイラーが strict モードに設定されている場合は、コンパイル時にもすべての型のチェックが行われ、型の不一致がある場合にエラーが発生します。型の不一致は、割り当て操作、関数の呼び出し、ドット(.)演算子を使用したクラスメンバーの逆参照の際に発生する可能性があります。
使用できる型としては、すべてのネイティブオブジェクト型、独自に定義したクラスとインターフェイス、および void があります。認識されるネイティブ型には、ブール(Boolean)、数値(Number)、整数(int)、符号なし整数(uint)、ストリング(String)があります。また、すべてのビルトインクラスは、ネイティブ型としてサポートされます。
データ型を割り当てない場合、変数、関数の戻り値、または関数のパラメーターは型指定なしと見なされ、どのようなデータ型の値も取ることができます。型指定のない値を使用することを明示するには、型注釈にアスタリスク(*)文字を使用します。アスタリスク文字を型注釈に使用すると、変数、関数の戻り値の型、または関数のパラメーターの型を指定しないのと同じことになります。
オペランドvariableName:* —
変数の識別子。
| |
type:* —
ネイティブのデータ型、定義済みのクラス名、またはインターフェイス名。
| |
functionName:Function —
関数の識別子。
| |
parameter:* —
関数パラメーターの識別子。
|
例
この例の使用方法
シンタックス 1:次の例では、
userName という名前のパブリック変数を宣言しています。この変数は String 型で、空のストリングを割り当てます。
var userName:String = "";
randomInt() という名前の関数を定義し、戻り値の型を int に指定しています。
function randomInt(integer:int):int {
return Math.round(Math.random()*integer);
}
trace(randomInt(8)); squareRoot() という名前の関数を定義しています。この関数は val という Number 型のパラメーターを受け取り、val の平方根を Number 型で返します。
function squareRoot(val:Number):Number {
return Math.sqrt(val);
}
trace(squareRoot(121)); 関連する API エレメント
| typeof | 演算子 |
|
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
expression を評価し、式のデータ型を表すストリングを返します。結果は、boolean、function、number、object、string、および xml の、6 つのストリング値に限定されます。ユーザー定義クラスのインスタンスにこの演算子を適用する場合、結果は object のストリングになります。typeof 演算子は、後方互換性を維持するために提供されています。型の互換性をチェックするには、is 演算子を使用します。
expression:Object —
評価するオブジェクト。
|
String —
expression の型のストリング表現。次の表に、typeof 演算子を使用した結果を式の型別に示します。
|
例
この例の使用方法
次の例では、様々なオブジェクトや値に対して
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
関連する API エレメント
| void | 演算子 |
|
| ランタイムバージョン: | Flash Player 9 |
式を評価した後、その値を破棄して、undefined を返します。void 演算子は、多くの場合、== 演算子を使用して undefined 値をテストする比較において使用します。
expression:Object —
評価される式。
|
* —
undefined 値。
|
| < > XML literal tag delimiter | 演算子 |
myXML= <{tagName} {attributeName} = {attributeValue}>{content}{tagName}> |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 9 |
XML リテラル内の XML タグを定義します。終了タグはスラッシュ / を使用して定義します。
オペランドmyXML:* —
XML または XMLList オブジェクト。
| |
tagName:* —
評価結果が XML タグの名前になる式。
| |
attributeName:* —
評価結果が XML 属性の名前になる式。
| |
attributeValue:* —
評価結果が XML 属性の値になる式。
| |
content:* —
評価結果が XML タグの内容になる式。
|
例
この例の使用方法
次の例では、XML リテラルの定義に
< および > 演算子を使用しています。
var x:XML = <item id= "324">cola</item>;
関連する API エレメント
Tue Jun 12 2018, 10:52 AM Z