回答編集履歴
3
修正
test
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
上記は、左辺が`undefined`、`false`、`0`なら"B"、という、javascriptからある書き方です。なので、
|
8
8
|
|
9
9
|
```typescript
|
10
|
-
if(what.type === "A" || "B
|
10
|
+
if(what.type === "A" || "B") {
|
11
11
|
```
|
12
12
|
~~これは常に"A"と比較してる事になります。~~
|
13
13
|
これは what.type === "A" が `false` の場合に"B"(つまり常に`true`) という式になります。
|
2
test
CHANGED
@@ -1,43 +1,22 @@
|
|
1
1
|
これは型がどうというワケではなく、単に文字列比較をしているコードだと思います。
|
2
2
|
|
3
|
+
```typescript
|
4
|
+
const hoge = "A" || "B"
|
5
|
+
```
|
3
6
|
|
7
|
+
上記は、左辺が`undefined`、`false`、`0`なら"B"、という、javascriptからある書き方です。なので、
|
4
8
|
|
5
9
|
```typescript
|
6
|
-
|
7
|
-
const foo = "A"
|
8
|
-
|
9
|
-
|
10
|
+
if(what.type === "A" || "B~~") {
|
10
|
-
|
11
11
|
```
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
上記は、foo が`undefined`、`false`、`0`なら"B"、という、javascriptの書き方です。なので、
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
```typescript
|
20
|
-
|
21
|
-
if(what.type === "A" || "B") {
|
22
|
-
|
23
|
-
```
|
24
|
-
|
25
|
-
これは常に"A"と比較してる事になります。
|
12
|
+
~~これは常に"A"と比較してる事になります。~~
|
26
|
-
|
13
|
+
これは what.type === "A" が `false` の場合に"B"(つまり常に`true`) という式になります。
|
27
|
-
|
28
14
|
|
29
15
|
文字比較としてなら、以下のように書けます。
|
30
|
-
|
31
16
|
```typescript
|
32
|
-
|
33
17
|
if(["A", "B"].includes(what.type)){
|
34
|
-
|
35
18
|
....
|
36
|
-
|
37
19
|
} else {
|
38
|
-
|
39
20
|
....
|
40
|
-
|
41
21
|
}
|
42
|
-
|
43
22
|
```
|
1
修正
test
CHANGED
@@ -4,13 +4,15 @@
|
|
4
4
|
|
5
5
|
```typescript
|
6
6
|
|
7
|
+
const foo = "A"
|
8
|
+
|
7
|
-
const hoge =
|
9
|
+
const hoge = foo || "B"
|
8
10
|
|
9
11
|
```
|
10
12
|
|
11
13
|
|
12
14
|
|
13
|
-
上記は、
|
15
|
+
上記は、foo が`undefined`、`false`、`0`なら"B"、という、javascriptの書き方です。なので、
|
14
16
|
|
15
17
|
|
16
18
|
|