「JavaScript/演算子」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎複合代入演算子: +論理Null合体代入演算子
Ef3 (トーク | 投稿記録)
→‎関係演算子: 表組みを節にばらす
481 行
'''関係演算子'''(かんけいえんざんし、''elational operator'')とは、大小関係あるいは包含関係を比較して[[JavaScript/Boolean|真偽値]]を返す演算子です。
 
<code>=<</code><code>=></code> のようなに <code>=</code> が先にくる関係演算子は存在しないので気をつけてください(特に <code>=></code> はアロー関数の構文で書き方によっては SyntaxError とならず発見困難なバグの原因になります)。大小比較は必ず手前に大なり小なり、後にイコールが来ます。
{| class="wikitable"
|+ JavaScriptの関係演算子
! 演算子
! 意味
|-
| <code>''a'' in ''b''</code>
| <var>a</var> がオブジェクト <var>b</var> のプロパティか
|-
| <code>''a'' instanceof ''b''</code>
| <var>a</var> が <var>b</var> のインスタンスか
|-
| <code>''a'' < ''b''</code>
| より小さい(未満)
|-
| <code>''a'' <= ''b''</code>
| より小さいか等しい(以下)
|-
| <code>''a'' > ''b''</code>
| より大きい(超)
|-
| <code>''a'' >= ''b''</code>
| より大きいか等しい(以上)
|-
| <code>''a'' == ''b''</code>
| 等しい
|-
| <code>''a'' <nowiki>!</nowiki>= ''b''</code>
| 等しくない
|-
| <code>''a'' === ''b''</code>
| 厳密に等しい
|-
| <code>''a'' <nowiki>!</nowiki>== ''b''</code>
| 厳密に等しくない
|}
 
!=== in 演算子 ===
=< や => のようなに = が先にくる関係演算子は存在しないので気をつけてください(特に => はアロー関数の構文で書き方によっては SyntaxError とならず発見困難なバグの原因になります)。大小比較は必ず手前に大なり小なり、後にイコールが来ます。
in 演算子は、プロパティがオブジェクトに含まれると true を返します。
==== in 演算子の構文 ====
<syntaxhighlight lang="javascript">prop in obj</syntaxhighlight>
 
=== instanceof 演算子 ===
instanceof 演算子は、コンストラクタのprototype プロパティがオブジェクトのプロトタイプ・チェーンのどこかに現れるかどうかをテストします。戻り値は、論理値です。
==== instanceof 演算子の構文 ====
<syntaxhighlight lang="javascript">obj1 instanceof obj2</syntaxhighlight>
 
=== 小なり演算子 ===
小なり演算子は、左辺が右辺より小さいかどうかをテストします。戻り値は、論理値です。
==== 小なり演算子の構文 ====
<syntaxhighlight lang="javascript">left < right</syntaxhighlight>
 
=== 小なりイコール演算子 ===
小なりイコール演算子は、左辺が右辺より小さいあるいは等しいかをテストします。戻り値は、論理値です。
==== 小なりイコール演算子の構文 ====
<syntaxhighlight lang="javascript">left <= right</syntaxhighlight>
 
=== 大なり演算子 ===
大なり演算子は、左辺が右辺より大きいかどうかをテストします。戻り値は、論理値です。
==== 大なり演算子の構文 ====
<syntaxhighlight lang="javascript">left > right</syntaxhighlight>
 
=== 大なりイコール演算子 ===
大なりイコール演算子は、左辺が右辺より大きいあるいは等しいかをテストします。戻り値は、論理値です。
==== 大なりイコール演算子の構文 ====
<syntaxhighlight lang="javascript">left >= right</syntaxhighlight>
 
== 等値演算子 ==