大昔のjavascriptとは違う、現代的なJSであるES2015(ES6)を理解する

大昔のjavascriptとは違う、現代的なJSであるES2015(ES6)を理解する

参考URL
https://qiita.com/soarflat/items/b251caf9cb59b72beb9b

変数

テンプレート文字列(テンプレートリテラル)は、ヒアドキュメントみたいな感じ
バッククオートで囲んだ文字列を使って、変数を挿入したり、改行を入れたり出来る仕組み
イメージ的には  <?php ?> っぽい。

アロー関数。書き方が違うだけで、基本的に同じ

モジュール(関数を別のファイルでも使えるようにする仕組み)
exportで外部で使います宣言
importで、モジュールファイルの、この関数を使います宣言

たぶん、これがJSで一番むずかしい。
非同期処理(時間がかかる処理が終わるのを待たない)
https://qiita.com/cheez921/items/41b744e4e002b966391a

昔ながらのJS非同期。setTimeoutが非同期処理な事を利用する

ES6のPromiseのJS非同期
Promise()内で、resolve()実行すると、then()が実行される

ES6のasync/awaitのJS非同期
1, 関数定義の前にasyncで非同期関数であることを宣言
2, 実行する関数名の前にawaitで、非同期実行を宣言
3, 非同期関数内でPromise()実行
4, その中で、resolveを実行したら非同期処理が完了
5, 呼び出し元のcatch以降が実行される

クラスと継承が利用可能

pythonにもある分割代入。連想配列みたい。

スプレッド構文(配列名の前にピリオド3つをつけると、配列を展開する)

for…of インデックス不要な場合のfor文(全要素アクセス)