11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【localStorage】オブジェクトを読み書きしたいときの基本構文

Posted at

はじめに

localStorageオブジェクトを読み書きしたいときの基本構文を備忘録としてまとめました。

環境

OS: macOS Catalina 10.15.1
Chrome: 78.0.3904.108(Official Build) (64 ビット)
Firefox: 71.0(64ビット)

1.公式での使用例

まずは公式で紹介されている使用例です。
1つのキーに対し、1つのスカラー値を読み書きする例となっています。

sample.js
// 書き込み
localStorage.setItem('myCat', 'Tom');

// 読み込み
let cat = localStorage.getItem("myCat");

// 削除
localStorage.removeItem("myCat");

ただ、これは以下のように、オブジェクトでは使えません。

sample.js
let object = {
    key1: "name1",
    key2: "name2"
};

localStorage.setItem("myObject", object);

一見大丈夫そうでも...

"[object Object]"

出力はこうなってしまいます。

localStorageオブジェクトを突っ込みたい方も多いのではないでしょうか?

次はオブジェクトで使うための基本構文です。

2.オブジェクトを読み書きするときの基本構文

問題は、JavaScriptオブジェクト⇔JSON文字列の変換が行われていなかったことです。

sample.js
let object = {
    key1: "name1",
    key2: "name2"
};

// 書き込み ※JavaScriptオブジェクト -> JSON文字列に変換
localStorage.setItem("myObject", JSON.stringify(object));

// 読み込み ※JSON文字列 -> JavaScriptオブジェクトに変換
JSON.parse(localStorage.setItem("myObject"));

// 削除 ※変わらず
localStorage.removeItem("myObject");

これで無事、localStorageを使ってオブジェクトを読み書き出来るようになりました!

おわりに

最後まで読んで頂きありがとうございました:bow_tone1:

どなたかの参考になれば幸いです:relaxed:

参考にさせて頂いたサイト(いつもありがとうございます)

11
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?