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 が発生する。