[javascript] 저장소 항목이 설정되어 있는지 확인하는 방법
항목이 설정되어 있는지 어떻게 확인할 수 localStorage
있습니까? 현재 사용하고 있습니다
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
// init variable/set default variable for item
localStorage.setItem("infiniteScrollEnabled", true);
}
답변
getItem
WebStorage 사양 의 메소드 null
는 항목이 존재하지 않으면 명시 적으로 리턴 합니다.
… 주어진 키가 객체와 관련된 목록에 없으면이 메서드는 null을 반환해야합니다. …
따라서 다음을 수행 할 수 있습니다.
if (localStorage.getItem("infiniteScrollEnabled") === null) {
//...
}
이 관련 질문을 참조하십시오 :
답변
hasOwnProperty
방법을 사용 하여 이것을 확인할 수 있습니다
> localStorage.setItem('foo', 123)
undefined
> localStorage.hasOwnProperty('foo')
true
> localStorage.hasOwnProperty('bar')
false
Chrome (Mac), Firefox (Mac) 및 Safari의 현재 버전에서 작동합니다.
답변
키가 스토리지에없는 경우 가장 짧은 방법은 기본값을 사용하는 것입니다.
var sValue = localStorage['my.token'] || ''; /* for strings */
var iValue = localStorage['my.token'] || 0; /* for integers */
답변
undefined를 확인하려면 다음을 시도하십시오.
if (localStorage.user === undefined) {
localStorage.user = "username";
}
getItem은 값을 찾지 못하면 null을 반환하는 메서드입니다.
답변
if(!localStorage.hash) localStorage.hash = "thinkdj";
또는
var secret = localStorage.hash || 42;
답변
참
localStorage.infiniteScrollEnabled = 1;
거짓
localStorage.removeItem("infiniteScrollEnabled")
존재 확인
if (localStorage[""infiniteScrollEnabled""]) {
//CODE IF ENABLED
}
답변
localStorage에서 항목 유형 을 확인해야합니다.
if(localStorage.token !== null) {
// this will only work if the token is set in the localStorage
}
if(typeof localStorage.token !== 'undefined') {
// do something with token
}
if(typeof localStorage.token === 'undefined') {
// token doesn't exist in the localStorage, maybe set it?
}