

()の内部が「アロー関数式」かつ「return文にセミコロンがある」場合、ar.map()はArray [2, 3, 4]を表示しませんでした。
この問題の原因または誤りを指摘できますか？

[code]

    function f1(x){return x+1;}
    const ar = [1,2,3];
    console.log(ar.map(/* ... */));
    
[/code]

| x => ~ ; | x => ~  
---|---|---  
f1(x) | Error: missing ) after argument list | Array [2, 3, 4]  
x+1 | Error: missing ) after argument list | Array [2, 3, 4]  
  
| function(x){return ~;} | function(x){return ~}  
---|---|---  
f1(x) | Array [2, 3, 4] | Array [2, 3, 4]  
x+1 | Array [2, 3, 4] | Array [2, 3, 4]


CC BY-SA 4.0
2021-07-28T06:24:31.047
78441
2021-07-28T08:10:41.063
2021-07-28T07:16:40.563
47480
47480
question
javascript
アロー関数式のreturn文にセミコロンが付加されているために発生するエラー
  
  
`map`の引数としてアロー関数式の一つの形

[code]

    param => expression
    
[/code]

を使うならば、`;`は余計です。式 (expression) に`;`は含まれません。

`;`は 文 (statement) を構成します。  
たとえば

[code]

    expression ;
    
[/code]

は文 (statement) です。

文には本来 `;` が必要ですが、JavaScriptのセミコロン自動挿入機能により、多くの構文で、文の `;`
を省略することが可能となっています。だからセミコロンの無い文

[code]

    return expression
    
[/code]

もエラーとならずに済んでいるわけです。


CC BY-SA 4.0
2021-07-28T08:04:30.860
78442
2021-07-28T08:10:41.063
2021-07-28T08:10:41.063
45045
45045
78441
answer