回答編集履歴
1
文章校正
test
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
`||`は[論理演算子](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_Operators)に分類される`OR`
|
1
|
+
`||`は[論理演算子](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_Operators)に分類される`OR`です。
|
2
2
|
|
3
|
-
これはC言語由来で、
|
3
|
+
これはC言語由来でして、論理演算子は多くの言語が`||`はOR、`&&`はANDという感じで採用しています。
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
JavaScriptのOR
|
7
|
+
JavaScriptに於いて、論理のORは`a || b`という書き方をします。
|
8
8
|
|
9
|
-
|
9
|
+
左から順番に確認していきます。
|
10
10
|
|
11
11
|
|
12
12
|
|
@@ -16,9 +16,13 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
|
19
|
+
なお、`a || b || c`という風に3つ以上の値を繋げて書く事も可能です。
|
20
20
|
|
21
|
+
|
22
|
+
|
21
|
-
|
23
|
+
※これはJavaScript特有の動作であり、他の言語は挙動が違う可能性があります。
|
24
|
+
|
25
|
+
例えばPHPでは、OR演算子が出てきた時点で最終的に帰ってくる値はBoolean固定になりますので、値の初期化処理のつもりでこの書き方をすると、いつの間にかBoolean値に変換されてしまい思わぬバグの原因になる事もあります。
|
22
26
|
|
23
27
|
|
24
28
|
|