Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 リファレンスガイド > ActionScript 言語エレメント > 演算子 > === 厳密な等価演算子 | |||
expression1 === expression2
2 つの式が等しいかどうかをテストします。厳密な等価 (===) 演算子は、データ型が変換されない点を除いては、等価 (==) 演算子と同じです。両方の式が、そのデータ型も含めて等しい場合、結果は true です。
「等価」の定義は、パラメータのデータ型により異なります。
対応バージョン : ActionScript 1.0、Flash Player 6
expression1 : Object - 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。
expression2 : Object - 数値、ストリング、ブール値、変数、オブジェクト、配列、または関数。
Boolean - 比較結果を表すブール値。
次のコードのコメントは、等価演算子および厳密な等価演算子を使用した演算の戻り値を示しています。
// Both return true because no conversion is done var string1:String = "5"; var string2:String = "5"; trace(string1 == string2); // true trace(string1 === string2); // true // Automatic data typing in this example converts 5 to "5" var string1:String = "5"; var num:Number = 5; trace(string1 == num); // true trace(string1 === num); // false // Automatic data typing in this example converts true to "1" var string1:String = "1"; var bool1:Boolean = true; trace(string1 == bool1); // true trace(string1 === bool1); // false // Automatic data typing in this example converts false to "0" var string1:String = "0"; var bool2:Boolean = false; trace(string1 == bool2); // true trace(string1 === bool2); // false
次の例では、厳密な等価で比較する場合に、参照を格納する変数とリテラル値を格納する変数の扱いがどのように違うかを示しています。この結果を見ると、String クラスでは new 演算子の使用を避け、ストリングリテラルを使用する理由が明らかになります。
// Create a string variable using a literal value
var str:String = "asdf";
// Create a variable that is a reference
var stringRef:String = new String("asdf");
// The equality operator does not distinguish among literals, variables,
// and references
trace(stringRef == "asdf"); // true
trace(stringRef == str); // true
trace("asdf" == str); // true
// The strict equality operator considers variables that are references
// distinct from literals and variables
trace(stringRef === "asdf"); // false
trace(stringRef === str); // false
! 論理否定 (NOT) 演算子, != 不等価演算子, !== 厳密な不等価演算子, && 論理積 (AND) 演算子, || 論理和 (OR) 演算子, == 等価演算子
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001302.html