回答編集履歴
1
文章の流れを調整
answer
CHANGED
@@ -6,22 +6,23 @@
|
|
6
6
|
> SyntaxError: Unexpected identifier
|
7
7
|
> ```
|
8
8
|
|
9
|
-
|
9
|
+
結論から言えば、恐らくNode.jsのバージョンが古いのが原因と思われます。
|
10
10
|
|
11
|
+
そもそもasyncというのは正式な構文ですので、本来構文エラーで弾かれるということはありません。
|
12
|
+
しかし、async構文はES2017というつい最近実装された構文なので、新しいNode.jsでなければ構文エラーで弾かれます。
|
13
|
+
|
14
|
+
下記のサイトによると、Node.jsのv7.10.1以降ならば対応しているようです。
|
15
|
+
[async functions - Node.js ES2017 Support](http://node.green/#ES2017-features-async-functions)
|
16
|
+
|
11
17
|
```Bash
|
12
18
|
# バージョンを調べる
|
13
19
|
$ node -v
|
14
20
|
v7.2.1 # <- バージョン古いのでアウト
|
15
21
|
```
|
16
22
|
|
17
|
-
JavaScriptはECMAScript(以下ES)という仕様書に従って、各社のブラウザが勝手に実装したものです。
|
18
|
-
エラー文に含まれるasyncはES6の中でも後期(ES2017)に実装された最新の構文で、Node.jsに取り込まれたのはv7.10.1以降のようです。
|
19
|
-
|
20
|
-
[async functions - Node.js ES2017 Support](http://node.green/#ES2017-features-async-functions)
|
21
|
-
|
22
|
-
|
23
|
+
もしNode.jsの4系や6系を利用しているならば、
|
23
24
|
「そんな構文ないじゃないか!シンタックスエラー」となりますし、
|
24
|
-
それ以降のバージョンであれば「ああ、asyncね、構文OK」とな
|
25
|
+
それ以降のバージョンであれば「ああ、asyncね、構文OK」となるでしょう。
|
25
26
|
|
26
27
|
---
|
27
28
|
|