setItem(key, value)
– 키-값 쌍을 보관합니다.getItem(key)
– 키에 해당하는 값을 받아옵니다.removeItem(key)
– 키와 해당 값을 삭제합니다.clear()
– 모든 것을 삭제합니다.key(index)
– 인덱스(index
)에 해당하는 키를 받아옵니다.length
– 저장된 항목의 개수를 얻습니다.키
와 값
은 반드시 문자열이어야 함localStorage
의 키와 값은 반드시 문자열이어야 함sessionStorage
는 현재 떠 있는 탭 내에서만 유지됨sessionStorage
가 공유됨sessionStorage
에 저장된 데이터는 사라지지 않음localStorage
나 sessionStorage
의 데이터가 갱신될 때, storage 이벤트가 실행됩니다. storage 이벤트는 다음과 같은 프로퍼티를 지원
key
– 변경된 데이터의 키(.clear()
를 호출했다면 null
)oldValue
– 이전 값(키가 새롭게 추가되었다면 null
)newValue
– 새로운 값(키가 삭제되었다면 null
)url
– 갱신이 일어난 문서의 urlstorageArea
– 갱신이 일어난 localStorage
나 sessionStorage
객체⇒ html
<!DOCTYPE html>
<html>
<head>
<title>Web Storage Homework</title>
</head>
<body>
<form>
<textarea id="tar" cols="20" rows="3" placeholder="글을 입력하세요."></textarea> </br>
<input id="btn" type="submit" value="submit">
</form>
<script src="4-2-1-webStorage.js"></script>
</body>
</html>
⇒ js
// Wait for the DOM to be fully loaded
document.addEventListener('DOMContentLoaded', function() {
// Get the form, textarea, and button elements
const form = document.querySelector('form');
const textarea = document.getElementById('tar');
const button = document.getElementById('btn');
// Load any saved data from localStorage
textarea.value = localStorage.getItem('textareaValue') || '';
// Add an event listener to the form to handle the submit event
form.addEventListener('submit', function(event) {
// Prevent the default form submit action
event.preventDefault();
// Save the textarea value to localStorage
localStorage.setItem('textareaValue', textarea.value);
// Optionally, show a message or do something else to indicate success
alert('Text saved!');
});
});
⇒ 결과
현재 회사에서 사용자가 특정 데이터 Row를 클릭할 때마다, 해당 Row 내의 데이터를 로컬 스토리지에 저장하는 코드를 여러번 짠 적이 있다.
해당 코드를 짠 것은 노마드코더를 통해 vanillaJS 공부할 때 배운 것을 토대로 구현했다.
하지만, localStroage에 대한 정석을 이번에 모던 자바스크립트를 통해 배우게 됐다.
sessionStoage도 배우게 됐는데, 해당 스토리지는 자주 사용하지는 않을 것 같다.
어찌됐건 실무에서도 자주 사용하는 것을 실제 배우기도 해보고 활용도 해 보니 자존감이 높아진(?) 느낌이다.