回答編集履歴
4
訂正
answer
CHANGED
@@ -18,7 +18,8 @@
|
|
18
18
|
|
19
19
|
このコードで親からCardに渡す引数が`<Card list="a,b,c" />`であれば`join`は間違いです。渡されたlistは**文字列**であり、 `join`メソッドを持ちません。文字列を分解する`split`で配列に分解して返せば`{eachLi(props.list)}`部分は`abc`という文字列になります。
|
20
20
|
|
21
|
-
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。ただし、`join`で得られる結果の文字列は`a,b,c`であり、間に`join`に渡した引数の`,`が挟まれます。なにもはさみたくないなら`join("")`または`join()`としてください。
|
21
|
+
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。ただし、`join`で得られる結果の文字列は`a,b,c`であり、間に`join`に渡した引数の`,`が挟まれます。なにもはさみたくないなら`join("")`~~または`join()`~~としてください。
|
22
|
+
(嘘つきました。引数無しの`join()`だとデフォルトで`,`が挟まります)
|
22
23
|
|
23
24
|
### 追記
|
24
25
|
Cardにlistが渡されないパターンが存在する場合、Cardの中でlistを「存在する前提」で使ってはいけません。必ず`null`や`undefined`になっていないかチェックする必要があります。
|
3
追記
answer
CHANGED
@@ -18,4 +18,18 @@
|
|
18
18
|
|
19
19
|
このコードで親からCardに渡す引数が`<Card list="a,b,c" />`であれば`join`は間違いです。渡されたlistは**文字列**であり、 `join`メソッドを持ちません。文字列を分解する`split`で配列に分解して返せば`{eachLi(props.list)}`部分は`abc`という文字列になります。
|
20
20
|
|
21
|
-
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。ただし、`join`で得られる結果の文字列は`a,b,c`であり、間に`join`に渡した引数の`,`が挟まれます。なにもはさみたくないなら`join("")`または`join()`としてください。
|
21
|
+
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。ただし、`join`で得られる結果の文字列は`a,b,c`であり、間に`join`に渡した引数の`,`が挟まれます。なにもはさみたくないなら`join("")`または`join()`としてください。
|
22
|
+
|
23
|
+
### 追記
|
24
|
+
Cardにlistが渡されないパターンが存在する場合、Cardの中でlistを「存在する前提」で使ってはいけません。必ず`null`や`undefined`になっていないかチェックする必要があります。
|
25
|
+
```JavaScript
|
26
|
+
function eachLi(props) {
|
27
|
+
console.log(props);
|
28
|
+
if(Array.isArray(props)) { // propsが配列である
|
29
|
+
return props.join(",");
|
30
|
+
}
|
31
|
+
else { // propsが配列ではない(nullやundefinedだった場合)
|
32
|
+
return "";
|
33
|
+
}
|
34
|
+
}
|
35
|
+
```
|
2
修正
answer
CHANGED
@@ -18,4 +18,4 @@
|
|
18
18
|
|
19
19
|
このコードで親からCardに渡す引数が`<Card list="a,b,c" />`であれば`join`は間違いです。渡されたlistは**文字列**であり、 `join`メソッドを持ちません。文字列を分解する`split`で配列に分解して返せば`{eachLi(props.list)}`部分は`abc`という文字列になります。
|
20
20
|
|
21
|
-
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。ただし、`join`で得られる結果の文字列は`a,b,c`であり、間に`join`に渡した引数の`,`が挟まれます。なにもはさみたくないなら`join("")`としてください。
|
21
|
+
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。ただし、`join`で得られる結果の文字列は`a,b,c`であり、間に`join`に渡した引数の`,`が挟まれます。なにもはさみたくないなら`join("")`または`join()`としてください。
|
1
修正
answer
CHANGED
@@ -16,5 +16,6 @@
|
|
16
16
|
export default Card;
|
17
17
|
```
|
18
18
|
|
19
|
-
このコードで親からCardに渡す引数が`<Card list="a,b,c" />`であれば`join`は間違いです。渡されたlistは**文字列**であり、 joinメソッドを持ちません。
|
19
|
+
このコードで親からCardに渡す引数が`<Card list="a,b,c" />`であれば`join`は間違いです。渡されたlistは**文字列**であり、 `join`メソッドを持ちません。文字列を分解する`split`で配列に分解して返せば`{eachLi(props.list)}`部分は`abc`という文字列になります。
|
20
|
+
|
20
|
-
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。
|
21
|
+
`<Card list={[a,b,c]} />`であれば、渡されたlistは**配列**であり、`join`が正しいです。ただし、`join`で得られる結果の文字列は`a,b,c`であり、間に`join`に渡した引数の`,`が挟まれます。なにもはさみたくないなら`join("")`としてください。
|