回答編集履歴

1

追記

2021/03/24 02:01

投稿

hoshi-takanori
hoshi-takanori

スコア7903

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 }): Hoge[] => {
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)