[JavaScript] Window.lacalStorage와 Window.sessionStorage

2023. 10. 1. 12:33·Programming Language/JavaScript
목차
  1. 쿠키와의 차이점
  2. 제공하는 프로퍼티와 메서드
  3. for...in
  4. Object.keys()

localStorage와 sessionStorage

로컬 스토리지와 세션 스토리지는 자바 스크립트에서 사용되는 웹 스토리지 옵션입니다. 이 두 가지 기능은 웹 브라우저에서 키와 값으로 이루어진 데이터를 저장하는 데에 사용됩니다.

쿠키와의 차이점

웹 브라우저에 데이터를 저장하는 것이 쿠키와 유사하다고 생각할 수 있지만 다음과 같은 차이점이 존재합니다.

  • 쿠키와 달리 네트워크 요청 시 서버로 전송되지 않는다
  • 개발자가 브라우저 내 웹 스토리지 구성 방식을 설정할 수 있다
  • 쿠키와 달리 HTTP 헤더를 통해 객체를 조작할 수 없다
  • 프로토콜과 서브 도메인이 다르면 데이터에 접근할 수 없다

제공하는 프로퍼티와 메서드

공통 프로퍼티

  • localStorage.length 및 sessionStorage.length: 스토리지에 저장된 항목 수를 반환합니다

메서드

  • setItem(key, value): 지정된 키(key)와 값을(value) 스토리지에 저장합니다.
  • getItem(key): 지정된 키(key)에 해당하는 값을 스토리지에서 가져옵니다.
  • removeItem(key): 지정된 키(key)에 해당하는 값을 스토리지에서 삭제합니다.
  • clear(): 스토리지 내의 모든 데이터를 삭제합니다.
// 로컬 스토리지에 데이터 저장
localStorage.setItem('username', 'john_doe');
localStorage.setItem('email', 'john@example.com');

// 데이터 불러오기
var username = localStorage.getItem('username');
var email = localStorage.getItem('email');

console.log('Username:', username);
console.log('Email:', email);

// 데이터 삭제
localStorage.removeItem('email');

// 저장된 항목 수 출력
console.log('로컬 스토리지의 항목 수:', localStorage.length);

// 모든 데이터 삭제
localStorage.clear();

// 저장된 항목 수 다시 출력 (이제 0이어야 함)
console.log('로컬 스토리지의 항목 수:', localStorage.length);

LocalStorage

로컬 스토리지는 영구적으로 데이터를 저장하는 데 사용됩니다. 웹 페이지가 닫히거나 브라우저를 다시 시작해도 데이터가 유지됩니다. 이 데이터는 도메인별로 저장되고, 다른 도메인의 스트립트에서는 접근할 수 없습니다.

 

키와 값은 모두 문자만 저장할 수 있고, 다른 데이터 값을 저장할 시 문자열로 변환되어 저장됩니다.

 

사용 예

// 데이터 저장
localStorage.setItem('키', '값');

// 데이터 불러오기
var data = localStorage.getItem('키');

// 데이터 삭제
localStorage.removeItem('키');

SessionStorage

세션 스토리지는 세션이 존재하는 동안 데이터를 저장하는 데 사용됩니다. 세션은 브라우저 창이 열려 있는 동안 유지되며, 브라우저를 닫으면 세션 스토리지의 데이터가 삭제됩니다. 세션 스토리지도 도메인별로 저장되며 다른 도메인에서 접근할 수 없습니다.

 

키와 값은 모두 문자만 저장할 수 있고, 다른 데이터 값을 저장할 시 문자열로 변환되어 저장됩니다.

 

사용 예

// 데이터 저장
sessionStorage.setItem('키', '값');

// 데이터 불러오기
var data = sessionStorage.getItem('키');

// 데이터 삭제
sessionStorage.removeItem('키');

순회하기

로컬 스토리지와 세션 스토리지에서 키와 값을 순회하는 방법은 for...in 루프나 Object.keys() 메서드를 사용하여 가능합니다.

for...in

for...in 루프를 사용할 때 hasOwnProperty()를 사용하여 객체의 속성인지 확인하는 것이 좋습니다. 이렇게 하면 브라우저의 내장 객체와 사용자가 설정한 데이터 사이에 충돌을 방지할 수 있습니다.

for (var key in localStorage) {
    if (localStorage.hasOwnProperty(key)) {
        var value = localStorage[key];
        console.log(key + ': ' + value);
    }
}

Object.keys()

var keys = Object.keys(localStorage);
for (var i = 0; i < keys.length; i++) {
    var key = keys[i];
    var value = localStorage.getItem(key);
    console.log(key + ': ' + value);
}

 

 

참고 자료

https://developer.mozilla.org/ko/docs/Web/API/Window/sessionStorage

https://ko.javascript.info/localstorage

'Programming Language > JavaScript' 카테고리의 다른 글

[JavaScript] async와 await  (0) 2023.07.29
[JavaScript] Promise 객체 기본 개념  (0) 2023.07.29
[JavaScript] 비동기 처리와 콜백 함수  (0) 2023.07.19
[JavaScript] 데이터 단위 변환기 토이 프로젝트 만들어보기  (0) 2023.05.06
[JavaScript] DOM 객체로 HTML 요소의 속성 바꾸기  (0) 2023.05.05
  1. 쿠키와의 차이점
  2. 제공하는 프로퍼티와 메서드
  3. for...in
  4. Object.keys()
'Programming Language/JavaScript' 카테고리의 다른 글
  • [JavaScript] async와 await
  • [JavaScript] Promise 객체 기본 개념
  • [JavaScript] 비동기 처리와 콜백 함수
  • [JavaScript] 데이터 단위 변환기 토이 프로젝트 만들어보기
hurlud
hurlud
나와 같은 궁금증을 가진 사람들을 위해 오늘도! 🐥
  • hurlud
    주독야독
    hurlud
  • 전체
    오늘
    어제
  • 최근 글

    • ALL (106)
      • CS (13)
      • Linux (2)
      • Deploy (7)
        • AWS (6)
        • Docker (1)
      • IDE (13)
        • IntelliJ (5)
        • Android Studio (8)
      • DB (10)
        • MySQL (6)
        • MongoDB (4)
      • Programming Language (20)
        • JavaScript (10)
        • Java (8)
        • Python (2)
      • Framework (32)
        • Node.js (6)
        • SpringBoot (17)
        • React (6)
        • NestJS (2)
      • Git | Github (4)
      • ETC (5)
      • Akka (0)
  • 링크

    • 깃허브
  • hELLO· Designed By정상우.v4.10.0
hurlud
[JavaScript] Window.lacalStorage와 Window.sessionStorage
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.