teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2022/01/12 10:03

投稿

umau
umau

スコア831

answer 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

2022/01/12 09:56

投稿

umau
umau

スコア831

answer CHANGED
@@ -1,22 +1,22 @@
1
- これは型がどうというワケではなく、単に文字列比較をしているコードだと思います。
1
+ これは型がどうというワケではなく、単に文字列比較をしているコードだと思います。
2
-
2
+
3
- ```typescript
3
+ ```typescript
4
- const foo = "A"
5
- const hoge = foo || "B"
4
+ const hoge = "A" || "B"
6
- ```
5
+ ```
7
-
6
+
8
- 上記は、foo が`undefined`、`false`、`0`なら"B"、という、javascript書き方です。なので、
7
+ 上記は、左辺が`undefined`、`false`、`0`なら"B"、という、javascriptからある書き方です。なので、
9
-
8
+
10
- ```typescript
9
+ ```typescript
11
- if(what.type === "A" || "B") {
10
+ if(what.type === "A" || "B~~") {
12
- ```
11
+ ```
13
- これは常に"A"と比較してる事になります。
12
+ ~~これは常に"A"と比較してる事になります。~~
14
-
13
+ これは what.type === "A" が `false` の場合に"B"(つまり常に`true`) という式になります。
14
+
15
- 文字比較としてなら、以下のように書けます。
15
+ 文字比較としてなら、以下のように書けます。
16
- ```typescript
16
+ ```typescript
17
- if(["A", "B"].includes(what.type)){
17
+ if(["A", "B"].includes(what.type)){
18
- ....
18
+ ....
19
- } else {
19
+ } else {
20
- ....
20
+ ....
21
- }
21
+ }
22
22
  ```

1

修正

2022/01/11 17:31

投稿

umau
umau

スコア831

answer CHANGED
@@ -1,10 +1,11 @@
1
1
  これは型がどうというワケではなく、単に文字列比較をしているコードだと思います。
2
2
 
3
3
  ```typescript
4
+ const foo = "A"
4
- const hoge = "A" || "B"
5
+ const hoge = foo || "B"
5
6
  ```
6
7
 
7
- 上記は、左辺が`undefined`、`false`、`0`なら"B"、という、javascriptからある書き方です。なので、
8
+ 上記は、foo が`undefined`、`false`、`0`なら"B"、という、javascript書き方です。なので、
8
9
 
9
10
  ```typescript
10
11
  if(what.type === "A" || "B") {