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