SessionStorageとは?
✅ 結論(まずここだけ読めばOK)
SessionStorageは「タブを開いている間だけデータを保存できる仕組み」です。
- ページを再読み込みしても消えない
- でもタブを閉じると全部消える
- LocalStorageと使い方はほぼ同じ
👉 「一時的なメモ」に最適です。
SessionStorageのイメージ(超かんたん)
SessionStorageは、ブラウザの中にある「一時メモ帳」です。
- メモを書く → 保存される
- ページ更新 → メモは残る
- タブを閉じる → メモは消える
- LocalStorageとの違い(ここが重要)
一番大事な違いはこの2つです👇
| 項目 | SessionStorage | LocalStorage |
|---|---|---|
| 保存期間 | タブを閉じるまで | ずっと残る |
| 共有範囲 | そのタブだけ | 同じサイトの全タブ |
👉 「一時」か「長期」かの違いだけ覚えればOKです
使い方(まずはこれだけ覚える)
SessionStorageは「キー」と「値」で保存します。
👉 重要:文字列しか保存できません
// 保存
sessionStorage.setItem("username", "fox");
// 取得
const name = sessionStorage.getItem("username");
// 削除
sessionStorage.removeItem("username");
// 全削除
sessionStorage.clear();
// インデックス番号からキー名を取得
const keyName = sessionStorage.key(index);
// 保存されている件数
sessionStorage.length;
実際の操作手順
ブラウザの開発者ツールで試してみましょう。
手順①:開発者ツールを開く
Windows:F12キー 「Console」を選択
手順②:データを保存
sessionStorage.setItem("test", "hello");
手順③:データを確認
sessionStorage.getItem("test");
👉 "hello" と表示されればOK
手順④:ページをリロード(F5)
もう一度これを実行👇
sessionStorage.getItem("test");
👉 データは残っています
手順⑤:タブを閉じる
タブを閉じる 同じページを開き直す sessionStorage.getItem("test");
👉 null(消えている)になります
よくある使い方(現場でよく見る例)
① 入力フォームの一時保存
// 入力中に保存 sessionStorage.setItem("formName", input.value);
// ページ再表示時に復元 input.value = sessionStorage.getItem("formName");
👉 誤ってリロードしても入力が消えない
② タブごとの状態管理
タブA → 商品Aを選択 タブB → 商品Bを選択
👉 タブごとに状態を分けたいときに便利
③ 一時的なフラグ管理
sessionStorage.setItem("modalShown", "true");
👉 同じタブ内でだけ表示制御したいとき
初心者がハマるポイント(ここが差別化ポイント)
❌ ① オブジェクトはそのまま保存できない
// NG sessionStorage.setItem("user", { name: "taro" });
👉 必ずJSONに変換
// 保存 sessionStorage.setItem("user", JSON.stringify({ name: "taro" }));
// 取得 const user = JSON.parse(sessionStorage.getItem("user"));
❌ ② タブごとに完全に別物
👉 同じサイトでも共有されません。
これは「バグ」ではなく仕様です。
❌ ③ indexの順番は信用しない
sessionStorage.key(0);
👉 順番は保証されません。
❌ ④ 大きなデータは危険
容量:約5〜10MB 同期処理(重くなる)
👉 画像や大量データはNG。
何に使うべきか?
SessionStorageが向いているのは👇
- 一時的な入力データ
- タブ単位の状態管理
- ページ遷移中だけ必要な情報
まとめ
- SessionStorageは「一時保存専用」
- タブを閉じると消える
- LocalStorageとほぼ同じ使い方
- 文字列しか保存できない
- 「ちょっとだけ残したいデータ」に最適