프론트엔드 프로그램을 개발할 때, 자바스크립트를 이용하여 사용자의 입력을 브라우저가 닫혀도 기억하고 싶은 경우가 있다. 이 때 자바스크립트에서 window.localStorage
를 사용하면 사용자의 입력을 key/value 쌍으로 저장할 수 있다. 따라서 todo list 어플리케이션에서 사용자가 입력한 todo를 저장하고 싶을 때, 또는 사용자가 설정한 테마를 저장하고 싶을 때 local storage
를 사용하면 된다.
local storage
는 Web Storage API 2가지 방법중 하나이다.
Weg Storeage API는 브라우저에서 쿠키를 사용하는 것보다 직관적으로 key/value 쌍으로 데이터를 안전하게 저장할 수 있는 메커니즘을 제공한다.
local storage는 Window.localStorage
속성을 통해서 사용할 수 있는데, 정확히 말하면 이를 지원하는 브라우저에서 window
객체는 localStorage
속성을 포함한 WindowLocalStorage
객체를 구현하기 때문이다.
따라서 해당 속성에 접근하면 Storage
객체의 인스턴스를 생성하게 되고, 그걸 사용해 데이터 항목을 추가, 회수, 제거할 수 있다. 왜냐하면Storage
는 특정 도메인을 위한 로컬 저장소의 접근 경로이기 때문이다.
Storage
객체에 접근하여 로컬 스토리지에 데이터를 추가, 회수, 제거할 수 있다.Storage
객체에 접근하여 로컬 스토리지에 데이터를 추가, 회수, 제거할 수 있다.즉 로컬 스토리지와 세션 스토리지의 큰 차이점은 데이터의 유효기간에 존재한다.
따라서 세션 스토리지도 위에서 설명한 로컬 스토리지와 마찬가지로, window
객체에 sessionStorage
속성이 포함된 WindowSessionStorage
객체가 존재하기 때문에, Window.sessionStorage
속성으로 사용 가능하다.
Storage.setItem
현재 도메인의 로컬 Storage
객체에 접근하여, Storage.setItem
를 사용해 항목 하나를 추가한다.
localStorage.setItem('pizza', '20000');
Storage.getItem
현재 도메인의 로컬 Storage
객체에 접근하여, Storage.getItem
를 사용해 key에 일치하는 항목을 읽어온다.
const pizzaPrice = localStorage.getItem('pizza');
Storage.removeItem
현재 도메인의 로컬 Storage
객체에 접근하여, Storage.removeItem
를 사용해 key에 일치하는 항목을 삭제한다.
localStorage.removeItem('pizza');
Storage.clear
현재 도메인의 로컬 Storage
객체에 접근하여, Storage.clear
를 사용해 로컬 스토리지에 저장된 모든 항목을 제거한다.
localStorage.clear();