Javascript object,array 또는 어떤것이든 string으로 바꿔주려면 JSON.stringify()
를 사용하면된다
예시) 어떤 목록을 array로 localStorage에 저장하고 싶을때
const toDos = [];
const saveTodos = () => {
localStorage.setItem('todos',toDos)
const handleTodoSubmit = (e) => {
e.preventDefault();
const newTodo = toDoInput.value;
toDoInput.value = "";
toDos.push(newTodo);
paintTodo(newTodo);
saveTodos();
};
}
이렇게만 했을때는 localStorage에 단순히 텍스트로만 저장이된다.
하지만
saveTodos function에서 저장되는 toDos를 JSON.stringify(toDos)
로 바꿔주면 array의 형태로 저장이 되었다
콘솔에서 localStorage에 있는값을 찍어보면
localStorage.getItem('todos')
=> '["a","b","a","c","d"]'
이렇게 string 으로 저장되어있는것을 볼수있다.
JSON.parse
: 이 값을 다시 Javascript에서 사용할수 있는 array로 만들어줌.
JSON.parse(localStorage.getItem('todos'))
=> (4) ['a', 'b', 'c', 'd']
첫번째 : JSON.stringify 를 사용해 localStorage에 string으로 저장된 값
두번째 : JSON.parse 로 string에서 array 로 바뀐 값