December 26, 2021
웹 스토리지 객체(web storage object)인 localStorage
와 sessionStorage
는 브라우저 내에 키-값 쌍을 저장할 수 있게 해줍니다.
이 둘을 사용하면 페이지를 새로 고침하고(sessionStorage
의 경우) 심지어 브라우저를 다시 실행해도(localStorage
의 경우) 데이터가 사라지지 않고 남아있습니다. 이 부분은 조만간 뒤에서 살펴보기로 합시다.
그런데 "쿠키를 사용하면 브라우저에 데이터를 저장할 수 있는데, 왜 또 다른 객체를 사용해 데이터를 저장하는 걸까요?"라는 의문이 들 수 있습니다. 쿠키 이외에도 다른 방식을 사용하는 이유는 다음과 같습니다.
두 스토리지 객체는 동일한 메서드와 프로퍼티를 제공합니다.
setItem(key, value)
– 키-값 쌍을 보관합니다.getItem(key)
– 키에 해당하는 값을 받아옵니다.removeItem(key)
– 키와 해당 값을 삭제합니다.clear()
– 모든 것을 삭제합니다.key(index)
– 인덱스(index
)에 해당하는 키를 받아옵니다.length
– 저장된 항목의 개수를 얻습니다.두 스토리지 객체는 Map
과 유사합니다. setItem/getItem/removeItem
을 지원하죠. 하지만 인덱스를 사용해 키에 접근할 수 있다는 점(key(index)
)에서 차이가 있습니다.
이제 본격적으로 localStorage와 sessionStorage가 어떻게 동작하는지 살펴봅시다.