こんにちは。
JavaScriptはシングルスレッドで動作するため、処理が詰まるとブラウザ全体がフリーズしてしまいます。
これを解決するのが非同期処理です。
かつてはコールバック関数で非同期処理を記述していましたが、ネストが深くなる「コールバック地獄」が問題視されていました。
その後、Promiseが導入され、処理の成功・失敗を.then()と.catch()でチェーンできるようになりました。
さらにES2017で登場したasync/await構文により、非同期処理を同期処理のように直感的に記述できるようになり、コードの可読性が大幅に向上しました。
APIからデータを取得するfetch()関数と組み合わせることで、ページをリロードせずにサーバーとデータをやり取りする動的なWebアプリケーションを簡潔に実装できます。
非同期処理の理解はJavaScript習得における最重要ポイントの一つです。