69112


下記のコード引数を初めてみたのですが、これはkey valueを引数に取得しているという事でしょうか？

[code]

    const factorial = (n: number): number => {
      if (n < 2) {
        return 1;
      }
      return n * factorial(n - 1);
    };
    
[/code]

コードの出典:

  * [再帰関数が苦手なエンジニアのための再帰関数入門 - Qiita](https://qiita.com/ryo2132/items/4bedeec846d0427f1ac7)


CC BY-SA 4.0
2020-07-30T03:42:13.027
69110
2020-08-26T12:45:36.513
2020-08-26T12:45:36.513
32986
22565
question
javascript
javascriptの引数(n: number)について


このコードは JavaScript ではありません。TypeScript です。

[code]

    const factorial = (n: number): number => {
    
[/code]

1つ目の`: number`は、引数の`n`が数値であることを示す型アノテーションで、2つ目の`:
number`はこのアロー関数の返り値が数値であることを示しています。

JavaScriptで書くと以下のようになります。

[code]

    const factorial = (n) => {
    
[/code]


CC BY-SA 4.0
2020-07-30T04:39:36.137
69111
2020-07-30T04:39:36.137
3475
69110
answer


## 短い答え

いいえ。引数はただの数値型nです。

* * *

## 解説

質問文に掲載のコードは[TypeScript](https://www.typescriptlang.org/)や[Flow](https://flow.org/)で型注釈のつけられたコードのようです。当該コードの場合、  
`(n: number)`で引数`n`がnumber型であることを、また直後の`:
number`で関数の返り値が`number`型であることを指定しています。

* * *

ちなみにこのコードの出典は [再帰関数が苦手なエンジニアのための再帰関数入門 -
Qiita](https://qiita.com/ryo2132/items/4bedeec846d0427f1ac7)
でしょうか。それであればTypeScriptの記事ということになってますね。尤も型注釈を取ればただのJavaScriptですが。


CC BY-SA 4.0
2020-07-30T04:39:43.907
69112
2020-07-30T04:39:43.907
2376
69110
answer