STORAGE LIFETIME

브라우저 저장값 관리

localStorage와 sessionStorage는 문자열 저장소입니다. 오래된 값, 깨진 JSON, 다른 탭 변경까지 방어해야 안정적인 화면 상태가 됩니다.

save

저장 패킷 만들기

data만 넣지 말고 version, savedAt, expiresAt을 함께 문자열화합니다.

restore

복원 전에 검증

JSON.parse 실패, null, 예상과 다른 버전을 모두 기본값으로 되돌립니다.

expire

만료된 값 정리

expiresAt이 지났으면 removeItem으로 지우고 서버나 기본 설정에서 다시 시작합니다.

sync

탭 사이 변경 반영

storage 이벤트로 다른 탭에서 바뀐 설정을 감지해 현재 화면도 맞춥니다.

키 규칙 app:theme:v2처럼 출처 안에서 충돌하지 않는 이름을 사용합니다.
민감 정보 토큰, 주민번호, 결제 정보처럼 노출되면 위험한 값은 웹 스토리지에 두지 않습니다.
용량 초과 setItem은 저장소 한도를 넘으면 예외가 날 수 있으므로 실패 경로를 준비합니다.