Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 로컬 스토리지(localStorage)에 값 설정하고 가져오는 방법

웹 개발을 하다 보면 사용자가 입력한 데이터를 브라우저에 저장해 두었다가 나중에 다시 불러와야 하는 경우가 자주 있습니다. 이럴 때 가장 간편하게 활용할 수 있는 것이 바로 localStorage(로컬 스토리지)입니다.

localStorage 기본 사용법

localStorage는 키(key)와 값(value)의 쌍으로 데이터를 저장하는 웹 스토리지 API입니다. 사용 방법은 매우 간단합니다.

  • 값 저장하기: localStorage.setItem("키이름", 저장할값)
  • 값 가져오기: localStorage.getItem("키이름")

세션 스토리지(sessionStorage)와 달리 localStorage에 저장된 데이터는 브라우저를 닫았다가 다시 열어도 유지되므로, 간단한 사용자 설정값이나 임시 데이터를 보관하기에 적합합니다.

예제 코드

다음은 텍스트 박스에 입력된 값을 change 이벤트가 발생할 때마다 localStorage에 저장하는 전체 예제입니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<body>
    <input type="text" id="txtName" placeholder="Enter some value..." />
</body>
<script>
    var textBoxNameHTML = document.getElementById('txtName');
    textBoxNameHTML.addEventListener('change', (e) => {
        localStorage.setItem("textBoxValue", e.target.value);
    });
</script>
</html>

핵심 로직은 스크립트 부분입니다. 텍스트 박스에 change 이벤트 리스너를 등록하고, 이벤트가 발생하면 e.target.value로 입력값을 읽어 setItem() 메서드를 통해 "textBoxValue"라는 키에 저장합니다.

실행 방법

위 코드를 index.html과 같은 파일명으로 저장한 뒤, VS Code 편집기에서 해당 파일을 마우스 오른쪽 버튼으로 클릭하고 [Open with Live Server] 옵션을 선택하면 브라우저에서 바로 실행할 수 있습니다.

실행 결과

프로그램을 실행하면 다음과 같이 텍스트 박스가 있는 페이지가 나타납니다.

JavaScript로 로컬 스토리지(localStorage)에 값 설정하고 가져오는 방법

이제 텍스트 박스에 원하는 값을 입력해 보겠습니다. 입력이 완료되어 포커스가 벗어나면 change 이벤트가 발생하고, 입력한 값이 localStorage에 자동으로 저장됩니다.

JavaScript로 로컬 스토리지(localStorage)에 값 설정하고 가져오는 방법

localStorage에서 값 가져오기

저장된 값을 확인하려면 브라우저 개발자 도구 콘솔에서 getItem() 메서드를 호출합니다.

JavaScript로 로컬 스토리지(localStorage)에 값 설정하고 가져오는 방법

Enter 키를 누르면 localStorage에 저장되어 있던 값이 콘솔에 그대로 출력되는 것을 확인할 수 있습니다.

JavaScript로 로컬 스토리지(localStorage)에 값 설정하고 가져오는 방법

마무리

이처럼 localStorage의 setItem()과 getItem()만 활용하면 별도의 서버나 데이터베이스 없이도 브라우저에 데이터를 손쉽게 저장하고 조회할 수 있습니다. 다만 localStorage에는 문자열만 저장할 수 있고 약 5MB의 용량 제한이 있으므로, 대용량 데이터보다는 간단한 설정값이나 상태 정보를 저장하는 용도로 사용하는 것이 좋습니다.