ローカルストレージで0を保持した場合の処理について
ここに何の変哲もないオブジェクトがあるとします。
let obj ={};
obj["id"] = 0;
obj["name"] = takashi;
obj["age"] = 30;
これをローカルストレージに突っ込んで特定のページにて
JSON.parseで復元して使おうとしたのですが、オブジェクトのidの部分だけ
0のはずが””(空っぽ)が返ってきました。
JSON.parseでオブジェクトから取り出すと0ではなく空白が入っている・・・
文字列に変換されるのは分かりますが、なぜ0が空白なのでしょうか。
他の数字も試したところ1とか2は普通に変わらずに返ってきました。
0よ、なぜ・・・。
0でダメならNaN,null,undefinedももしかしたら何らかの値に変化しているかもしれません。
文字列か判定されるかどうか怪しいものは保存した時に意図しない型で返ってきた時に
備えて何か処理を加えておくのが安牌のようです。