```

    const Message = props => <div>{props.msg}</div>
    
```

と、

```

    function Message(props) {
        return (
            <div>{props.msg}</div>
            )
    }
    
```

は同じですか？

どこかで確かめることはできますか？
CC BY-SA 3.0
2018-02-21T13:17:26.170
41897
2018-02-22T02:08:37.657
2018-02-21T16:51:49.993
19110
12896
question
javascript es6
es6のアロー関数は通常の関数と同じ？
違います。

通常の関数定義によって定義された関数は `new` で呼び出せますが、アロー関数はできません。

```

    var Foo = function(){};
    var foo = new Foo();  // OK
```

```

    var Foo = () => {};
    var foo = new Foo();  // エラー
```

また、今回の例では出てきませんが、通常の関数とアロー関数では `this` の扱いにも差があります。  
より詳しくは、本家 Q&A の ["Arrow function vs function declaration / expressions: Are
they equivalent /
exchangeable?"](https://stackoverflow.com/q/34361379/5989200) や MDN
の[「アロー関数」](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/arrow_functions)をご覧ください。

(このような問題は、英語で "〇〇 vs ××" と検索すると上手く出てくるような気がします。また、最終的には仕様を読むのが良いと思います。)
CC BY-SA 3.0
2018-02-21T17:01:09.473
41902
2018-02-22T02:08:37.657
2018-02-22T02:08:37.657
19110
19110
41897
answer