September 16, 2021
쿠키
의 단점 보완
localStorage 객체의 메소드
localStorage.setItem("key", value)
: 로컬스토리지에 key값으로 데이터 저장localStorage.getItem("key")
: 로컬스토리지로부터 key값으로 데이터 읽기localStorage.removeItem("key")
: 로컬스토리지에서 key값으로 저장된 데이터 삭제localStorage.clear()
: 로컬스토리지의 모든 데이터 삭제⚡ 주의
웹스토리지에 데이터를 저장할 때는 문자열로 저장된다!!
JSON.stringify()
함수를 통해 JSON 문자열 형태로 직렬화
하여 저장한 후, 데이터를 활용할 때는JSON.parse()
함수를 통해 JSON 형태로 역직렬화
하여 활용한다.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="inputs">
<input type="text" id="email" placeholder="이메일"><br>
<input type="text" id="nickname" placeholder="닉네임"><br>
<input type="text" id="age" placeholder="나이"><br>
</div>
<button id="btn">입력</button>
<script>
var obj = {}; // 객체리터럴 생성
const inputs = document.getElementById('inputs').childNodes
myFunc = () => {
inputs.forEach(v => {
if(v.id){
obj[v.id] = v.value // 객체리터럴에 값 저장
}
});
localStorage.setItem("inputData", JSON.stringify(obj)); // 생성한 객체리터럴을 직렬화하여 로컬스토리지에 저장
}
document.getElementById("btn").addEventListener('click', myFunc) // 클릭 이벤트 발생시 로컬스토리지에 저장하는 함수 실행
console.log(JSON.parse(localStorage.getItem("inputData")).name); // 저장된 값을 JSON 형태로 역직렬화하여 활용
</script>
</body>
</html>
개발자 도구에서 웹 스토리지에 저장되어 있는 데이터들을 확인할 수 있다.