ステップ1: localStorage基本操作の体験 (localStorage API & JSON変換)(穴埋め版)

導入・問題提起

現在のタスク管理アプリでは、タスクを追加してもブラウザを更新すると全てのタスクが消えてしまいます。これは、データがコンピュータのメモリ上に一時的にしか保存されていないためです。

この問題を解決するために、ブラウザのlocalStorageという機能を使って、データを永続的に保存する方法を学びます。

準備:ベースアプリの動作確認

まずは、演習用ベースコードが正しく動作することを確認しましょう。

  1. フォルダを開く: 演習用ベースコードフォルダをVS Codeで開いてください
  2. Live Serverで起動: index.htmlを右クリック → 「Open with Live Server」
  3. 動作確認:

なぜデータが消えるのか? 現在のアプリは、データをJavaScriptの変数(メモリ)にのみ保存しています。 ブラウザを更新すると、メモリがリセットされるため、データが失われます。

Before(今の状況)

このステップの目標


考えてみよう

手順1: 開発者ツールを開く

  1. ブラウザでF12キーを押すか、右クリック → 「検証」
  2. Applicationタブ(Chromeの場合)またはStorageタブ(Firefoxの場合)をクリック
  3. 左側のメニューからLocal Storage → あなたのサイトのURL(例:http://127.0.0.1:5500)をクリック

手順2: localStorageの基本操作を体験

Consoleタブに移動して、以下のコードを順番に実行してみましょう:

基本操作

指示: 以下の穴埋めを完成させて、コンソールで実行し、各操作後にApplicationタブでlocalStorageの内容を確認してください。

// 1. データを保存する - "userName"というキーで"山田太郎"という値を保存
localStorage._____(_____, _____);

// 2. データを取得する - "userName"キーの値を取得
const userName = localStorage._____(_____);
console.log("保存されたユーザー名:", userName);

// 3. データを削除する - "userName"キーのデータを削除
localStorage._____(_____);

// 4. 全てのデータを削除する - localStorage内の全データを削除
localStorage._____();

より詳しく:JSON形式での保存

localStorageは文字列しか保存できません。オブジェクトや配列を保存するには、JSON形式に変換する必要があります。

JSON操作

指示: タスクオブジェクトをlocalStorageに保存・復元してみましょう

// タスクオブジェクトを作成
const task = {
  id: 1,
  text: "localStorage学習",
  completed: false
};

// 1. オブジェクトをJSON文字列に変換し、"sampleTask"キーで保存
const taskJson = JSON._____(task);
localStorage.setItem("sampleTask", _____);

// 2. "sampleTask"キーでJSON文字列を取得し、オブジェクトに復元
const savedTaskJson = localStorage._____("sampleTask");
const restoredTask = JSON._____(savedTaskJson);

console.log("復元されたタスク:", restoredTask);
console.log("タスクのテキスト:", restoredTask._____);
console.log("完了状態:", restoredTask._____);

✨ 最小限ヒント


動作確認チェックリスト

基本操作の確認:

JSON操作の確認:


解答例

解答例(完全なコード)

基本操作の解答

// 1. データを保存する
localStorage.setItem("userName", "山田太郎");

// 2. データを取得する
const userName = localStorage.getItem("userName");
console.log("保存されたユーザー名:", userName);

// 3. データを削除する
localStorage.removeItem("userName");

// 4. 全てのデータを削除する
localStorage.clear();

JSON操作の解答

// タスクオブジェクトを作成
const task = {
  id: 1,
  text: "localStorage学習",
  completed: false
};

// 1. オブジェクトをJSON文字列に変換し、保存
const taskJson = JSON.stringify(task);
localStorage.setItem("sampleTask", taskJson);

// 2. JSON文字列を取得し、オブジェクトに復元
const savedTaskJson = localStorage.getItem("sampleTask");
const restoredTask = JSON.parse(savedTaskJson);

console.log("復元されたタスク:", restoredTask);
console.log("タスクのテキスト:", restoredTask.text);
console.log("完了状態:", restoredTask.completed);

ポイント解説

localStorage APIの特徴

JSON変換の重要性


補足資料への誘導


次のステップへ

ステップ1で学んだlocalStorage APIの基本操作を使って、実際のタスク管理アプリに自動保存機能を実装していきましょう!