等価演算子

書式

式1 ==  式2
式1 !=  式2
式1 ==& 式2
式1 !=& 式2

解説

等価演算子は優先順位が低いことを除けば関係演算子と同等です。比較の条件もこれに従います。


==は式1と式2が等しい場合trueとなります

!=は式1と式2が等しくない場合trueとなります

==&は式1と式2が同じオブジェクトのインスタンスを指す場合trueとなります

!=&は式1と式2が同じオブジェクトのインスタンスを指さない場合trueとなります


左辺と右辺の型が異なる場合、以下のように型変換が行われ比較されます。


左辺の型 右辺の型 説明
String Number 左辺のStringをNumberに変換します
String Date 左辺のStringをDateに変換します
Number Date 右辺のDateをNumberに変換します
null String 常にfalse
null Number 常にfalse
null Date 常にfalse
null null 常にtrue
オブジェクト null以外 左辺のオブジェクトのデフォルトプロパティを使い上記変換を行います
オブジェクト null 左辺のオブジェクト実体が存在しない場合、nullと等しくなり、実体が存在する場合は、nullとは等しくありません。

左辺と右辺の型が上表と逆の場合も同様に変換されます。


等価演算子の例

URIAGE.KINGAKU = 1000;
URIAGE.KINGAKU == 1000; /* true と評価 */
URIAGE.KINGAKU ==& //.SALES.URIAGE.KINGAKU; /* trueと評価 */
"" == null; /* falseと評価 */
"" != null; /* trueと評価 */
String str1 = "";
str1 == null; /* falseと評価 */
str1 != null; /* trueと評価 */
var v1;
v1 == null; /* trueと評価 */
v1 = str1;
v1 == null; /* falseと評価 */
v1 = str2;  /* 存在しないオブジェクトのリファレンス */
v1 == null; /* falseと評価 */