TL;DR

Web Storage API の一種。Local Storage と同じくキーと値の組でデータを保存するが、タブやウィンドウを閉じるとデータが消える。

仕組み

Local Storage との違いは次の 2 点である。

  • ウィンドウやタブを閉じると、データが削除される。
  • 同じオリジンの同じタブ内のページでは共有されるが、別のタブやウィンドウとは共有されない。

MDN によると、ページセッションはタブやブラウザが開いている限り続き、再読み込みや復元をしても残る。新しいタブやウィンドウでページを開くと、新しいセッションが作られる。この点はセッション Cookie の動作とは異なる。

例

sessionStorage.setItem("key", "value")
let data = sessionStorage.getItem("key")
sessionStorage.removeItem("key")
sessionStorage.clear()

注意点

オリジンが file: や data: のように有効なスキーム、ホスト名、ポート番号の組でないときや、ユーザがそのオリジンでのデータの永続化を拒否しているときは、SecurityError が発生する。

関連

出典