setItem
メソッド fromが何を返すかを理解しようとしていsessionStorage
ます。私が得ることができる限り、次のコードは戻りますundefined
:
var set = sessionStorage.setItem('foo', 'bar');
console.log(set);
項目が正常に設定されたか、失敗したかを知る必要があります。リターンを知らずにこれを達成するにはどうすればよいですか?
setItem
メソッド fromが何を返すかを理解しようとしていsessionStorage
ます。私が得ることができる限り、次のコードは戻りますundefined
:
var set = sessionStorage.setItem('foo', 'bar');
console.log(set);
項目が正常に設定されたか、失敗したかを知る必要があります。リターンを知らずにこれを達成するにはどうすればよいですか?
sessionStorage
仕様を見てみましょう。
この行:
setter creator void setItem(DOMString key, DOMString value);
何も返さsetItem
ないことを示します。(void
は戻り値、あり)
項目が次のように設定されているかどうかを確認できます。
if (sessionStorage.getItem('myValue') == null){
// myValue was not set
}else{
// myValue was set
}
これsessionStorage
は、Mozilla Developer Network からのガイドです。sessionStorage.setItem(name, value)
何も返さないようです。
ただし、手動で確認したい場合は、次のようなことを試すことができます。
sessionStorage.setItem('make', 'Ford');
/* Returns null if it cannot find the item in sessionStorage. */
if(sessionStorage.getItem('make')) {
/* Session storage set successfully. */
} else {
/* Session storage did not set successfully. */
}
仕様に記載されているように、セッションがいっぱいの場合、メソッドは例外をスローするため、try catch 式を使用します。
try { sessionStorage.setItem('foo', 'bar'); }
catch(oops) {
// maybe no more space, try to free
localStorage.removeItem('foo');
sessionStorage.setItem('foo', 'bar');
}