キーを介してローカル ストレージにアクセスすると、Firefox と Chrome は異なる値を返します。
alert(localStorage.mykey); // FF = null, Chrome = undefined
alert(localStorage.getItem('mykey')); // FF = null, Chrome = null
Firefox のバグlocalStorage/sessionStorage should return undefined (not null) for undefined keys を参照してください。
基本的に、Chrome やその他のブラウザlocalStorage.mykey
は、Firefox が のように扱う他の配列オブジェクトと同じように扱いますgetItem()
。
だから、私の質問は次のとおりです。この不一致を考えると、キーが localStorage に存在するかどうかを確認する最良の方法は何ですか?
オプション1:if(localStorage.getItem('key') === null)
オプション 2:if(localStorage.key === null || localStorage.key === undefined)
||
オプション 3: #2なしで localStorage.key をチェックする方法はありますか?