回答編集履歴
1
追記
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
こんな感じでしょうか。
|
1
|
+
こんな感じでしょうか。(よく考えたら : Hoge[] は省略可能だったので省略しました。)
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -10,8 +10,62 @@
|
|
10
10
|
|
11
11
|
badgeConten: number;
|
12
12
|
|
13
|
-
}) => Hoge[] = ({ login, badgeConten })
|
13
|
+
}) => Hoge[] = ({ login, badgeConten }) => {
|
14
14
|
|
15
15
|
// 以下略
|
16
16
|
|
17
17
|
```
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
const aa: の後ろの以下の部分が関数の型になります。引数は、login と badgeConten というプロパティを持った一つのオブジェクトになります。TypeScript の文法上、引数の名前が必要ですが、引数名はあくまで型を書くのに必要なだけで、実際のコードでは使われません。
|
26
|
+
|
27
|
+
参考: [1-3. 関数の型 (TypeScriptの型演習(解答・解説編) - Qiita)](https://qiita.com/uhyo/items/0e7821ce494024c98da5#1-3-%E9%96%A2%E6%95%B0%E3%81%AE%E5%9E%8B)
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
```TypeScript
|
32
|
+
|
33
|
+
(args: {
|
34
|
+
|
35
|
+
login: boolean;
|
36
|
+
|
37
|
+
badgeConten: number;
|
38
|
+
|
39
|
+
}) => Hoge[]
|
40
|
+
|
41
|
+
```
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
関数そのものは、型を省略して書くと次のようになります。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
```TypeScript
|
50
|
+
|
51
|
+
// 引数を args で受け取る場合
|
52
|
+
|
53
|
+
const aa = (args) => {
|
54
|
+
|
55
|
+
// 以下略
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
// 引数を login, badgeConten に分割して受け取る場合
|
60
|
+
|
61
|
+
const aa = ({ login, badgeConten }) => {
|
62
|
+
|
63
|
+
// 以下略
|
64
|
+
|
65
|
+
```
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
引数を args で受け取った場合は args.login や args.badgeConten と書くことになりますが、分割して受け取った場合は args は不要で login, badgeConten とだけ書いて使えます。
|
70
|
+
|
71
|
+
参考: [関数の引数で分割代入ができる - Qiita](https://qiita.com/im36-123/items/95db77d8f64609a85043)
|