JavaScriptのStorageは,ウェブストレージに関する操作を提供するオブジェクトである。
ウェブストレージとは、データをクライアント側に保存するキーバリュー型ストレージ(KVS: Key-Value Store)であり、HTML5から利用可能となった。ウェブストレージに保存できる容量はウェブブラウザによって異なるが、数メガバイト以上のデータを保存できる。ウェブストレージはセッションストレージとローカルストレージの2種類がある。
ウェブストレージのセッションストレージやローカルストレージに保存している内容は、Google Chromeのデベロッパーツールで確認できる。
IE (Internet Explorer)の場合,ローカルHTMLファイル(file:///で始まるURL)ではウェブストレージを使用できない。
セッションストレージは一時的にデータを保存することができ、ウェブブラウザのウィンドウを閉じるとデータが破棄される。同じページを複数のウィンドウで開いた場合、それぞれ別々のセッションストレージにデータが保存される。
JavaScriptでは,window.sessionStorageでセッションストレージを操作することができる。
sessionStorageはセッションストレージ用Storageオブジェクトで、HTML5で追加されたプロパティである。
// ウェブストレージに対応している?
if (window.sessionStorage) {
var ss = window.sessionStorage;
console.log(ss);
}
ローカルストレージは永続的にデータをローカル環境に保存する。
ローカルストレージはオリジン単位でデータが保存される。オリジンとはプロトコル、ドメイン名及びポート番号の組み合わせであり、「protocol://domain:portno」の形式で表される。たとえば、「https://segakuin.com/javascript」と「https://segakuin.com/javascript/window」は同じローカルストレージを共有する。
JavaScriptでは,window.localStorageでローカルストレージを操作することができる。
Property | Type | Description |
---|---|---|
constructor | Object | Storageオブジェクトのコンストラクタへの参照 |
length | Integer | ウェブストレージに保存されているデータ(keyとvalueのペア)の個数 |
ウェブストレージに保存されているデータ(keyとvalueのペア)の個数
property | value |
---|---|
localStorage.length | |
sessionStorage.length |
Method | Description |
---|---|
clear | 全てのデータをクリアする。 |
getItem | 指定したkeyに対応するvalueを返す。 |
key | 指定したインデックスのkeyを返す。 |
removeItem | 指定したkeyに対応するvalueを削除する。 |
setItem | 指定したkeyとvalueのペアをウェブストレージに保存する。 |
ローカルストレージのすべてのデータをクリアする。
window.localStorage.clear()
localStorage.clear()
セッションストレージのすべてのデータをクリアする。
window.sessionStorage.clear()
sessionStorage.clear()
セッションストレージのデータをクリアする例を示す。
if (window.sessionStorage) {
sessionStorage.clear();
}
ローカルストレージのデータをクリアする例を示す。
if (window.localStorage) {
localStorage.clear();
}
指定したkeyに対応するvalueを返す。
getItem(key)
セッションストレージからkeyに対応するvalueを取得する例を示す。
if (window.sessionStorage) {
var value = sessionStorage.getItem("foo");
console.log(value);
}
ローカルストレージからkeyに対応するvalueを取得する例を示す。
if (window.localStorage) {
var value = localStorage.getItem("foo");
console.log(value);
}
指定したkeyに対応するvalueを削除する。
removeItem(key)
セッションストレージからkeyとvalueのペアを削除する例を示す。
if (window.sessionStorage) {
sessionStorage.removeItem("foo");
}
ローカルストレージからkeyとvalueのペアを削除する例を示す。
if (window.localStorage) {
localStorage.removeItem("foo");
}
指定したkeyとvalueのペアをウェブストレージに保存する。
setItem(key, value)
セッションストレージにkeyとvalueのペアを保存する例を示す。
if (window.sessionStorage) {
sessionStorage.setItem("foo", "bar");
}
ローカルストレージにkeyとvalueのペアを保存する例を示す。
if (window.localStorage) {
localStorage.setItem("foo", "bar");
}