この記事で分かること
- fetch API の基本構文
XMLHttpRequest(XHR)との違いGET・POSTリクエストの書き方- レスポンスの扱い方(
text/json) Promise・async/awaitとの組み合わせ
fetch API は、JavaScript で HTTP 通信を行うための現代的な標準APIで、XMLHttpRequest よりもシンプルで扱いやすいのが特徴です。
この記事では、fetch の基本構文から GET・POST の書き方、レスポンス処理、async / await との組み合わせまで、実務で役立つポイントを分かりやすく解説します。
fetch API とは?
fetch API は、JavaScript で HTTP 通信を行うための
現代的でシンプルな標準API です。
XMLHttpRequest(XHR)の後継として登場し、
Promise ベースで書けるためコードが読みやすくなります。
XHR と fetch の違い
| 項目 | fetch |
XHR |
|---|---|---|
| 書きやすさ | シンプル・短い | 冗長になりがち |
| 非同期処理 | Promise / async / await |
コールバック |
| レスポンス処理 | text() / json() |
responseText |
| エラー処理 | HTTPエラーは例外にならない | onerror が必要 |
fetch は「現代の標準」、XHR は「レガシー」という位置づけです。
fetch の基本構文(GET)
fetch("https://jsonplaceholder.typicode.com/posts/1")
.then(response => response.json())
.then(data => console.log(data));
fetch は Promise を返すため、
then() を使ってレスポンスを処理します。
レスポンスの種類(text / json)
text として取得
fetch("/hello.txt")
.then(res => res.text())
.then(text => console.log(text));
json として取得
fetch("/data.json")
.then(res => res.json())
.then(json => console.log(json));
API 連携では json() を使うことがほとんどです。
POST リクエストの書き方
fetch("https://jsonplaceholder.typicode.com/posts", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
title: "Hello",
body: "fetch POST example",
userId: 1
})
})
.then(res => res.json())
.then(data => console.log(data));
XHR と違い、fetch はオプションをまとめて指定できるため
コードがスッキリします。
async / await を使うとさらに読みやすい
async function loadData() {
const res = await fetch("https://jsonplaceholder.typicode.com/posts/1");
const data = await res.json();
console.log(data);
}
loadData();
async / await を使うと、
同期処理のように読みやすいコード になります。
fetch の注意点(重要)
- HTTPエラー(404/500)は例外にならない
- ネットワークエラーのみ
catchに入る - レスポンスのチェックは自分で行う必要がある
例:ステータスチェック
const res = await fetch(url);
if (!res.ok) {
throw new Error("HTTPエラー: " + res.status);
}
JavaScript 初心者におすすめの学習書籍
書籍で学ぶのが向いている人
fetchの基本構文を体系的に理解したいGET/POSTリクエストの書き方を基礎から学びたいjson()やtext()のレスポンス処理を正しく理解したいasync/awaitを使った読みやすいコードを書けるようになりたい
fetch API は、JavaScript の 現代的な HTTP 通信の標準です。
書籍では非同期処理の基礎や HTTP の仕組みを順序立てて学べるため、
Promise や async / await と組み合わせた
実務的な書き方を深く理解できます。
いちばんやさしい JavaScript の教本
図解が多く、JavaScript の基本文法やブラウザの動作を視覚的に理解できる入門書です。
fetch のような現代的 API を扱うために必要な「非同期処理の基礎」や
「HTTP 通信の流れ」を丁寧に学べます。
この本で解決できること:
fetchの基本構文が理解できるjson()/text()の使い分けが分かるGET/POSTの実装を基礎から学べる
確かな力が身につく JavaScript「超」入門
実務で必要な HTTP 通信・非同期処理・エラー処理を深く理解したい方に最適な入門書です。
fetch と XHR の違いや、async / await を使った
読みやすいコードの書き方も身につきます。
この本で解決できること:
fetchのGET/POSTの実践的な書き方を習得できる- レスポンス処理(
json())の流れが理解できる Promiseとasync/awaitの違いを踏まえた現代的な書き方が身につく
動画で理解を深めたい方へ(Udemy講座)
fetch のレスポンス処理や async / await の動作は、
実際の画面で確認しながら学ぶと理解が一気に深まります。
非同期処理の流れを視覚的に確認できるのが動画学習の強みです。
初心者のためのJavaScript 完全入門
JavaScript の基本文法から非同期処理まで体系的に学べる人気講座です。
fetch の動作や HTTP 通信の流れを理解するための基礎がしっかり身につきます。
この講座で解決できること:
fetchのレスポンス処理(json())を視覚的に理解できるGET/POSTの通信フローが明確になる- 初心者がつまずきやすい非同期処理の概念を丁寧に解説
→ 初心者のためのJavaScript 完全入門(Udemy)
超JavaScript 完全ガイド 2026
実務で必要な HTTP 通信・エラー処理・非同期制御を深く理解したい方に最適な講座です。
fetch と XHR の違いや、async / await を使った
実践的なコードの書き方も学べます。
この講座で解決できること:
fetchのGET/POSTの実践的な書き方を習得できる- HTTPエラーの扱い(
res.ok)を理解できる Promiseとasync/awaitの比較理解が深まる
体系的に学びたい方へ(スクールという選択肢)
独学の限界を感じやすいポイント
fetchの仕組みが曖昧なままになるjson()/text()の違いが理解しづらいPromiseとasync/awaitの使い分けでつまずきやすい- エラー処理(
res.okチェック)が身につかない
スクールでは、プロの講師が学習ロードマップを作成し、
fetch の基本構文から GET / POST、レスポンス処理、非同期処理まで
体系的に理解できるようサポートしてくれます。
無料相談で得られるメリット
- あなたのレベルに合わせた学習計画を作成
- 非同期通信やエラー処理の理解を深めるアドバイスがもらえる
- 効率的な学習方法をプロが提案
- エンジニア転職を視野に入れたキャリア相談も可能
JavaScript の基礎を効率よく学びたい方には、
DMM WEBCAMP の学習コースも選択肢のひとつです。
fetch API に関するよくある質問(FAQ)
fetch と XHR のどちらを使うべきですか?
現代では fetch が推奨されます。XHR はレガシーコードの保守で使われます。
fetch のエラーは catch に入らないことがあるのはなぜですか?
HTTPエラー(404/500)は例外にならず、ネットワークエラーのみ catch に入るためです。
fetch で JSON を送信するにはどうすればいいですか?
headers に Content-Type を指定し、body に JSON.stringify したデータを渡します。
async / await と fetch を組み合わせるメリットは何ですか?
コードが読みやすくなり、エラー処理も try/catch で統一できるためです。
まとめ
fetch API は、XHR よりもシンプルで扱いやすい
現代の標準的な通信API です。
Promiseベースで書きやすいGET・POSTの実装が簡単- レスポンスは
text()/json()で取得 async/awaitと相性抜群
非同期処理を学ぶ上で、fetch は必ず理解しておきたい API です。