Window.localStorage

읽기 전용 localStorage속성은 사용자 로컬의 Storage객체에 접근하게 해줍니다. localStorage는 sessionStorage와 비슷합니다. 유일한 차이점은 localStorage에 저장된 데이터는 만료 기간이 없지만, sessionStorage에 저장된 데이터는 세션이 끝나면(브라우저가 종료되면) 지워진다는 것입니다.

localStorage또는 sessionStorage에 저장될 데이터는 프로토콜 페이지에 명시되어 있습니다.

모든 key와 value는 항상 string으로 저장됩니다. (주의하세요, object와 integer 들은 string으로 자동 변환됩니다.)

문법

myStorage = window.localStorage;

현재 오리진 로컬 스토리지 공간에 접근하기 위해 사용될 수 있는 Storage 객체.

 

예외

SecurityError
The request violates a policy decision, or the origin is not a valid scheme/host/port tuple (this can happen if the origin uses the file: or data: scheme, for example). For example, the user may have their browser configured to deny permission to persist data for the specified origin.

 

예제

이 코드는 사용자 현재 도메인의 로컬 Storage객체에 접근해 Storage.setItem()를 사용하여 데이터를 추가합니다.

localStorage.setItem('myCat', 'Tom');

 

localStorage 아이템 읽기 

var cat = localStorage.getItem('myCat');

localStorage 아이템 삭제

localStorage.removeItem('myCat');

localStorage 아이템 전체 삭제

// Clear all items
localStorage.clear();

 

Note: 전체 예시를 보려면 Using the Web Storage API 글을 참조하세요.

명세

명세 상태 Comment
HTML Living Standard
The definition of 'localStorage' in that specification.
Living Standard  

브라우저 호환성

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
localStorage 4 3.5 8 10.50 4
sessionStorage 5 2 8 10.50 4
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 2.1 ? 8 11 iOS 3.2

브라우저마다 localStorage와 sessionStorage의 지원 범위가 다릅니다. 

이 detailed rundown of all the storage capacities for various browsers 링크를 참고하세요.

Note: iOS 5.1버전부터, 모바일 사파리에선 localStorage 데이터를 cache 폴더에  저장합니다. 이 폴더는 용량이 부족하다거나 할 때 OS의 명령에 따라 이따금씩 비워집니다. 모바일 사파리의 Private Browsing모드에서도 localStorage를 온전히 사용하는 것을 막고 있습니다.

함께 보기