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

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎関係演算子: a in b; a instanceof b
Ef3 (トーク | 投稿記録)
449 行
 
== 関係演算子 ==
'''関係演算子'''(んけいえんざんし、''comparisonelational operator'')とは、大小関係あるいは同値包含関係を比較して[[JavaScript/Boolean|真偽値]]を返す演算子です。
 
{| class="wikitable"
455 行
! 演算子
! 意味
|-
| <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>
479 ⟶ 485行目:
| <code>''a'' <nowiki>!</nowiki>== ''b''</code>
| 厳密に等しくない
|}
 
=< や => のようなに = が先にくる関係演算子は存在しないので気をつけてください(特に => はアロー関数の構文で書き方によっては SyntaxError とならず発見困難なバグの原因になります)。大小比較は必ず手前に大なり小なり、後にイコールが来ます。
 
== 等値演算子 ==
'''等値演算子'''(とうかえんざんし、''equality operators'')とは、比較して[[JavaScript/Boolean|真偽値]]を返す演算子です。
{| class="wikitable"
|+ JavaScriptの関係演算子
! 演算子
! 意味
|-
| <code>''a'' in== ''b''</code>
| 等しい
| <var>a</var> がオブジェクト <var>b</var> のプロパティか
|-
| <code>''a'' instanceof<nowiki>!</nowiki>= ''b''</code>
| 等しくない
| <var>a</var> が <var>b</var> のインスタンスか
|-
| <code>''a'' === ''b''</code>
| 厳密に等しい
|-
| <code>''a'' <nowiki>!</nowiki>== ''b''</code>
| 厳密に等しくない
|}
 
=< や => のようなに = が先にくる関係演算子は存在しないので気をつけてください(特に => はアロー関数の構文で書き方によっては SyntaxError とならず発見困難なバグの原因になります)。大小比較は必ず手前に大なり小なり、後にイコールが来ます。厳密な関係演算子は暗黙的な型変換を引き起こしません。すなわち値が等しくかつ型も等しくNaNでもない場合に<code>true</code>を返します。たとえば、<code>1</code>と <code>"1"</code> は等しい (<code>1 == "1"</code>) ですが、厳密には等しくありません (<code>1 !== "1"</code>)。
 
<code>==</code>演算子は被演算子に真偽値が含まれる場合は、それを数値に変換して比較します。