자바스크립트 Local Storage를 활용한 투두 리스트 개발

투두 리스트는 많은 사람들이 일상적으로 사용하는 앱 중 하나입니다. 여러분도 투두 리스트 앱을 개발해보고 싶지 않으신가요? 이번 포스트에서는 자바스크립트의 Local Storage를 활용하여 실제로 동작하는 투두 리스트를 개발하는 방법에 대해 알아보겠습니다.

Local Storage란?

Local Storage는 브라우저에 데이터를 저장하는 웹 스토리지입니다. 이 데이터는 브라우저 세션을 종료하고 다시 시작해도 유지됩니다. 이를 이용하여 투두 리스트 데이터를 저장하고 불러올 수 있습니다.

HTML 구조

먼저, 투두 리스트를 보여주기 위한 HTML 구조를 만들어야 합니다. 아래는 기본적인 HTML 구조입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>투두 리스트</title>
</head>
<body>
    <h1>투두 리스트</h1>
    <input type="text" id="todo-input">
    <button id="add-button">추가</button>

    <ul id="todo-list">
        <!-- 여기에 투두 아이템이 동적으로 추가됩니다. -->
    </ul>

    <script src="app.js"></script>
</body>
</html>

JavaScript로 기능 구현하기

이제 JavaScript를 사용하여 투두 리스트의 기능을 구현해보겠습니다.

// Local Storage에 저장된 투두 리스트 데이터를 불러와 화면에 표시합니다.
function loadTodoList() {
    const todoList = JSON.parse(localStorage.getItem('todos')) || [];

    const todoListContainer = document.querySelector('#todo-list');
    todoListContainer.innerHTML = '';

    todoList.forEach((todo) => {
        const todoItem = document.createElement('li');
        todoItem.textContent = todo;

        todoListContainer.appendChild(todoItem);
    });
}

// 투두 아이템을 Local Storage에 저장하고 화면에 추가합니다.
function addTodo() {
    const todoInput = document.querySelector('#todo-input');
    const newTodo = todoInput.value.trim();

    if (newTodo !== '') {
        const todoList = JSON.parse(localStorage.getItem('todos')) || [];
        todoList.push(newTodo);

        localStorage.setItem('todos', JSON.stringify(todoList));

        loadTodoList();

        todoInput.value = '';
    }
}

// 초기화 함수
function init() {
    const addButton = document.querySelector('#add-button');

    addButton.addEventListener('click', addTodo);
    loadTodoList();
}

init();

위의 JavaScript 코드는 다음과 같은 기능을 가지고 있습니다.

  1. loadTodoList(): Local Storage에 저장된 투두 리스트 데이터를 불러와 화면에 표시합니다.
  2. addTodo(): 투두 아이템을 Local Storage에 저장하고 화면에 추가합니다.
  3. init(): 초기화 함수로, 버튼 클릭 이벤트 리스너를 등록하고 투두 리스트를 불러옵니다.

마치며

이렇게 자바스크립트의 Local Storage를 활용하여 투두 리스트를 개발해보았습니다. 이제 여러분은 사용자의 투두 리스트를 브라우저에 안전하게 저장하고 불러올 수 있는 기능을 가지고 있는 앱을 개발할 수 있습니다.

#javascript #localstorage